随笔分类 - Codeforces
摘要:题目传送门 1 /* 2 题意:给出一种方案使得abs (A - G) 6 #include 7 #include 8 #include 9 #include 10 using namespace std;11 12 const int MAXN = 1e6 + 10;13 cons...
阅读全文
摘要:题目传送门 1 /* 2 贪心:排序后,当a[3] > 2 * (a[1] + a[2]), 可以最多的2个,其他的都是1个,ggr,ggb, ggr。。。 ans = a[1] + a[2]; 3 或先2个+1个,然后k个rgb。。。r = x + k; g = 2 * (x + z) +...
阅读全文
摘要:题目传送门 1 /* 2 贪心:按照能选的个数和点数降序排序,当条件不符合就break,水题啊! 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 const int MAXN =...
阅读全文
摘要:题目传送门 1 /* 2 贪心:每一次选取最多的线段,最大能放置nuts,直到放完为止,很贪婪! 3 题目读不懂多读几遍:) 4 */ 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 1...
阅读全文
摘要:题目传送门 1 /* 2 二分查找/暴力:先埃氏筛选预处理,然后暴力对于每一行每一列的不是素数的二分查找最近的素数,更新最小值 3 */ 4 #include 5 #include 6 #include 7 using namespace std; 8 9 cons...
阅读全文
摘要:题目传送门 1 /* 2 水题:三个字符串判断每个是否有相应的元音字母,YES/NO 3 下午网速巨慢:( 4 */ 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 using nam...
阅读全文
摘要:题目传送门 1 /* 2 题意:选择k个m长的区间,使得总和最大 3 01背包:dp[i][j] 表示在i的位置选或不选[i-m+1, i]这个区间,当它是第j个区间。 4 01背包思想,状态转移方程:dp[i][j] = max (dp[i-1][j], dp[i-...
阅读全文
摘要:题目传送门 1 /* 2 贪心/数学:还以为是BFS,其实x1 + 4 * k = x2, y1 + 4 * l = y2 3 */ 4 #include 5 #include 6 #include 7 using namespace std; 8 9 const int MAXN ...
阅读全文
摘要:题目传送门 1 /* 2 暴力:O (n^2) 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 const int MAXN = 1e4 + 10;12 ...
阅读全文
摘要:题目传送门 1 /* 2 构造水题:对于0的多个位数的NO,对于位数太大的在后面补0,在9×k的范围内的平均的原则 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 const i...
阅读全文
摘要:题目传送门 1 /* 2 数学/暴力:只要一个数的最后三位能被8整除,那么它就是答案;用到sprintf把数字转移成字符读入 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 usin...
阅读全文
摘要:题目传送门 1 /* 2 DFS: 排序后一个一个出发往后找,找到>r为止,比赛写了return ; 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #inc...
阅读全文
摘要:题目传送门 1 /* 2 水题:遍历一边先找AB,再BA,再遍历一边先找BA,再AB,两种情况满足一种就YES 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11...
阅读全文
摘要:题目传送门 1 /* 2 图论/暴力:这是个连通的问题,每一次把所有度数为1的砍掉,把连接的点再砍掉,总之很神奇,不懂:) 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 con...
阅读全文
摘要:题目传送门 1 /* 2 题意:选择a[k]然后a[k]-1和a[k]+1的全部删除,得到点数a[k],问最大点数 3 DP:状态转移方程:dp[i] = max (dp[i-1], dp[i-2] + (ll) i * cnt[i]); 4 只和x-1,x-2有关,...
阅读全文
摘要:题目传送门 1 /* 2 题意:求最长括号匹配的长度和它的个数 3 贪心+stack:用栈存放最近的左括号的位置,若是有右括号匹配,则记录它们的长度,更新最大值,可以在O (n)解决 4 详细解释:http://blog.csdn.net/taoxin52/article/d...
阅读全文
摘要:题目传送门 1 /* 2 题意:求最大矩形(全0)的面积 3 暴力/dp:每对一个0查看它左下的最大矩形面积,更新ans 4 注意:是字符串,没用空格,好事多磨,WA了多少次才发现:( 5 详细解释:http://www.cnblogs.com/cszlg/p/321...
阅读全文
摘要:题目传送门 1 /* 2 DFS:按照长度来DFS,最后排序 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std;11 12 const int ...
阅读全文
摘要:题目传送门 1 /* 2 题意:给定一个数列,求最大的r使得[l,r]的数字能在t次全变为0,每一次可以在m的长度内减1 3 二分搜索:搜索r,求出sum 7 #include 8 #include 9 #include 10 using namespace std;11 12...
阅读全文
摘要:题目传送门 1 /* 2 很简单的水题,晚上累了,刷刷水题开心一下:) 3 */ 4 #include 5 using namespace std; 6 7 char s1[11][10] = {"zero", "one", "two", "three", "four", "five",...
阅读全文