2181:Jumping Cows

2024-09-04 09:04
文章标签 cows jumping 2181

本文主要是介绍2181:Jumping Cows,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

网址如下:

OpenJudge - 2181:Jumping Cows

(这是我拿去翻译的版本)

简单来说,题目要求我们求出一个子串,在奇数位的数加,偶数位的数减,求总的最大值

用贪心就可以做了

在波峰的时候加,波谷的时候减

代码如下:

#include<cstdio>const int maxP = 150000;int P, val[maxP], ans;int main(void)
{scanf("%d", &P);for(int i = 0; i < P; i++) scanf("%d", &val[i]);bool state = true;for(int i = 0; i < P; i++)if(state){//奇数位if(i == P - 1 || val[i] > val[i + 1]){ans += val[i]; state = false;}}else{//偶数位if(i != P - 1 && val[i] < val[i + 1]){ans -= val[i]; state = true;}}printf("%d", ans);return 0;
}

这篇关于2181:Jumping Cows的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1135579

相关文章

usaco 1.2 Milking Cows(类hash表)

第一种思路被卡了时间 到第二种思路的时候就觉得第一种思路太坑爹了 代码又长又臭还超时!! 第一种思路:我不知道为什么最后一组数据会被卡 超时超了0.2s左右 大概想法是 快排加一个遍历 先将开始时间按升序排好 然后开始遍历比较 1 若 下一个开始beg[i] 小于 tem_end 则说明本组数据与上组数据是在连续的一个区间 取max( ed[i],tem_end ) 2 反之 这个

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟)

【每日一题】LeetCode 2181.合并零之间的节点(链表、模拟) 题目描述 给定一个链表,链表中的每个节点代表一个整数。链表中的整数由 0 分隔开,表示不同的区间。链表的开始和结束节点的值都为 0。任务是将每两个相邻的 0 之间的所有节点合并成一个节点,新节点的值为原区间内所有节点值的和。合并后,需要移除所有的 0,并返回修改后的链表头节点。 思路分析 初始化:创建一个虚拟头节点

P2858 [USACO06FEB] Treats for the Cows G/S 题解

P2858 题意 给一个数组。每天把最左或者最右的东西卖掉,第 i i i个东西,第 d a y day day天卖出的价格是 a [ i ] ∗ d a y a[i]*day a[i]∗day。 记忆化搜索 void dfs(int l,int r,int day,ll sum){if(v[l][r]>=sum)return;v[l][r]=sum;if(l>r)//这就是dp答案{

Codeforces Round 913 (Div. 3) D. Jumping Through Segments (二分*1400)

很容易看出这道题应该二分答案,本题的难点在于对于mid的验证。 找距离肯定是不难,难就难在我们输入的区间并不是按照左右顺序排列的,有的区间可能涵盖住了另一个区间,也就是说在这里我们需要进行的是左右的移动。 那么我们根本无法预知后面的线段在什么位置,所以并不能精准的对每次移动的距离进行一个控制,所以我们要采取向两边进行扩展的方法。 在一开始我们设定左右边界为0,每一次进行扩展的时候,我们就去

poj 2186 Popular Cows(tarjan + 强连通分量 + 缩点)

http://poj.org/problem?id=2186 题意:有n头牛,m个膜拜关系,膜拜关系是不可逆的而且是单向传递的,比如A膜拜B,B膜拜C,那么A也膜拜C,但B不一定膜拜A。最后问有多少头牛满足条件:除了它自己,其他所有的牛都膜拜它。 思路: 问题可以抽象为:给定一个有向图,n个顶点,m条有向边,有多少个顶点满足:其他所有的点都能到达该点。 首先假如图G是一个有向树

POJ 2186 Popular Cows (强连通分量)

题目地址:POJ 2186 先用强连通分量缩点,然后形成一棵树。我第一次用的判定条件是入度为分量数-1。虽然这种情况下确实正确。但是在树中也是有间接关系的。这个条件并不是充分必要条件。正确的做法是逆序建树,然后找根结点。而且根结点有且只有一个才可以。所以转化成了找出度为0的分量。 代码如下: #include <iostream>#include <string.h>#include

UVA10491 - Cows and Cars(概率)

UVA10491 - Cows and Cars(概率) 题目链接 题目大意:给你n个门后面藏着牛,m个门后面藏着车,然后再给你k个提示,在你作出选择后告诉你有多少个门后面是有牛的,现在问你作出决定后,根据提示改变你的选择能够成功的概率。 解题思路:简单的概率题,题目意思懂了应该没什么问题。 代码: #include <cstdio>#include <cstring>int

Bulls and Cows问题及解法

问题描述: You are playing the following Bulls and Cows game with your friend: You write down a number and ask your friend to guess what the number is. Each time your friend makes a guess, you provide

POJ-2186 Popular Cows 强连通 + 缩点

http://poj.org/problem?id=2186 我们求强连通分量时,给每个顶点做一个标记,标记该顶点属于哪个强联通分量,然后属于同一个强连通分量的点就可以看作同一个点了。这就是所谓的“缩点”   此题用了个定理 :有向无环图(DAG)中,从任意一个点出发,必定可以到达某一个出度为0的点。   这个不用证明,直观想一下就行了。  因为无环,所以从一个点出发,必

洛谷 P2868 观光奶牛Sightseeing Cows 01分数规划 + 最短路判负环

按照惯例,不想写题目大意,转一个 https://blog.csdn.net/liangzihao1/article/details/79716799 题目描述 Farmer John has decided to reward his cows for their hard work by taking them on a tour of the big city! The cows mu