- 博客(7)
- 收藏
- 关注
原创 Codeforce 1195C 动态规划 状态转移方程
原题链接:http://codeforces.com/problemset/problem/1195/C题意:给出两行数字(个数相同),每两个数字不能上下或左右相邻,计算出所有数字满足条件的最大和。思路:利用dp数组存储到达每一个位置的最大值,方法的核心在于选或不选。根据经典的背包问题,选则总价值增加,当前容量减少,不选则保留当前数值不变。回归本题,选则当前值加另一行积累的dp数值,不选则保持本行已积累数值不变。最终两行分别得出所积累的dp数值,选较大的一个输出。总而言之,每一行对应一个数组,记录当
2021-05-18 09:52:11
273
原创 Codeforce 1201C 二分
原题链接:http://codeforces.com/contest/1201/problem/C题意:给出n个数(n为奇数),每一次操作可以将任意一个数加一,给出操作数,求这组数的中位数最大是多少。思路:枚举中位数。数组由小到大排序后,从第n/2+1到第最后一个(因为是找最大中位数,所以数组前一半可以不管),遍历每一个数与当前中位数的差,将这些差作和,就是达到当前中位数所需要的操作次数,找到符合条件的最大中位数(条件即为操作次数小于规定次数)。细节:bool check(ll mid){
2021-05-18 09:49:14
295
原创 Codeforce 604C 思维 交替子序列
//思维可能就是找规律看谁找的快吧原题链接:http://codeforces.com/problemset/problem/604/C题意:给出一个0和1组成的字符串,可以对任意一段进行翻转,0变1,1变0。求翻转后的最长的交替子序列。补充:交替子序列:相邻元素不同,可以不连续,但要保持原顺序。如,10011011,交替子序列为10101.思路:无论如何翻转,对于子序列来说,最多增加一个01或10,所以结果为原来的交替子序列长度加2,再和总长n比较(有可能最长交替子序列就是其本身),取最小
2021-05-18 09:46:55
241
原创 Gym 10102B 贪心
原题连接:http://codeforces.com/gym/101102/problem/B题意:用火柴棍摆数字,保证位数不变的情况下,相同数量的火柴棍,使数值尽量大。思路:先建立一个数组,对应每一个数字需要的火柴棍数量。外层循环枚举每一位,内层循环选数字。每一位数字最少用2根火柴棍,最多用7根,所以剩下几位,就用位数乘以2作为下限,乘以7作为上限,只需判定选用本次数值后剩下的火柴棍是否再上下限范围内,即可完成判定。完整代码:#include <iostream>#incl
2021-05-18 09:44:03
99
原创 POJ 3468 [模板] 延迟标记(懒标记) 线段树
原题链接:http://poj.org/problem?id=3468题意:给定长度为n的数列A,执行两种操作:1.把l~r个数都加d;2.询问数列中l~r个数的和。代码:#include <iostream>#include <algorithm>#include <cstdio>using namespace std;#define N 100010typedef long long ll;struct node{ int l,r;
2021-05-18 09:42:39
110
原创 Uva 11729 Commando War 贪心这么像思维怎么办 U•ェ•*U
原题链接:https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=456&page=show_problem&problem=2829题意:首长给士兵交代任务,交代任务需要时间b,士兵执行任务需要时间j,首长必须一个个交代任务,不能同时给两个人交代,交代任务的同时士兵可以执行任务。问花费的最少时间。思路:根据题意,很容易想到通过调整给士兵交代任务顺序来调整所用时间 ,
2021-05-18 09:39:28
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人