随笔分类 - /* 圣人不死 AC不止!*/
coding不息!
摘要:题目传送门 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 尺取法:先求出不同知识点的总个数tot,然后以获得知识点的个数作为界限, 更新最小值 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using names...
阅读全文
摘要:题目传送门 1 /* 2 题意:求连续子序列的和不小于s的长度的最小值 3 尺取法:对数组保存一组下标(起点,终点),使用两端点得到答案 4 1. 记录前i项的总和,求[i, p)长度的最小值,用二分找到sum[p] - s[i] >= s的p 5 2...
阅读全文
摘要:题目传送门 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 题意:宽度为1,高度不等,求最大矩形面积 3 stack(数组模拟):对于每个a[i]有L[i],R[i]坐标位置 表示a[L[i]] 7 #include 8 #include 9 #include 10 #include 11 using name...
阅读全文
摘要:题目传送门 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",...
阅读全文
摘要:题目传送门 1 /* 2 数学:不会写,学习一下这种解题方式:) 3 思路:设符合条件的数的最高位是h,最低位是l,中间不变的部分为mid,由题意可得到下面的公式(这里对X乘上1e6用a表示,b表示1e6) 4 (h*power+l+mid)*a = (l*power...
阅读全文
摘要:题目传送门 1 /* 2 贪心:小度熊先在多边形中间放一个盘子,接下来无论来访者怎么放,小度熊都根据多边形中心与来访者的盘子对称着放就能获胜。 3 题目已经给出方法,就是能否把盘子放在多边形中间,那么和边心距比较 4 */ 5 #include 6 #include 7 #inc...
阅读全文
摘要:题目传送门 1 /* 2 模拟水题,排序后找出重复的ip就可以了 3 */ 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 using namespace std;11 12 const in...
阅读全文
摘要:题目传送门 1 /* 2 字符串处理:要求解码,然而二维数组开不下,可以直接输出 3 只要在余数的地方判断一下就行了,vector的效率不高 4 另外:感觉麻烦的地方应该纸上写写就清楚了 5 */ 6 #include 7 #include 8 #include 9 #...
阅读全文
摘要:题目传送门 1 /* 2 找规律:题目真心读不懂,排列组合的题目 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 10 typedef long long ll;11 12 const...
阅读全文
摘要:题目传送门题意:中文题面分析:LIS(非严格):首先我想到了LIS,然而总觉得有点不对;每个数先减去它的下标,防止下面的情况发生:(转载)加入序列是1,2,2,2,3,这样求上升子序列是3,也就是要修改2个,但是中间的两个2,变化范围又不能超过(1,3)那么这样求的也就是不对的,但是减掉之后,相当于...
阅读全文
摘要:题目传送门 1 /* 2 最小生成树(Kruskal):以权值为头,带入两个端点,自然的排序;感觉结构体的并查集很好看 3 注意:题目老头要的是两个农田的高度差,中文水平不好,题意理解成和平均值的高度差! 4 */ 5 #include 6 #include 7 #include...
阅读全文
摘要:题目传送门 1 /* 2 BFS:先把1的入队,每个1和它相邻的组合后看看能不能使0变1,若有则添加入队,change函数返回改变了多少个0 3 注意:结果还要加上原来占领的 4 */ 5 #include 6 #include 7 #include 8 #in...
阅读全文
摘要:题目传送门 1 /* 2 二分搜索:在0~1e6的范围找到最小的max (ai - bi),也就是使得p + 1 6 #include 7 #include 8 #include 9 #include 10 using namespace std;11 12 const int MA...
阅读全文