随笔分类 -  -----其他算法 4.双指针

摘要:题目链接:hdu 6025 card card card 题意: 有n对数(a,b),现在你可以将前x对(a,b)移到尾部。 操作完后,现在定义sum=ai-bi (1,x),当sum<0时,当前的价值为Σai (1<=i<=x-1)。 问你移动前多少对(a,b),使得价值最大,如果有多个答案,输出 阅读全文
posted @ 2017-09-10 20:53 bin_gege 阅读(114) 评论(0) 推荐(0)
摘要:题目链接:hdu 6119 小小粉丝度度熊 题意: 给你n个区间,和一个数m,m表示可补上不连续的位置累计和为m,现在问你最长的连续区间和为多少。 题解: 我可能写的有点复杂,大概就是将每个区间排序后离散化,将这些间隔看成一个点,然后双指针一下。 1 #include<bits/stdc++.h> 阅读全文
posted @ 2017-08-13 18:39 bin_gege 阅读(160) 评论(0) 推荐(0)
摘要:题目链接:Educational Codeforces Round 24 E. Card Game Again 题意: 给你n个数和一个数k。 现在每次可以拿掉前x个数,后y个数,剩下的数的乘积要能被k整除,求方案数。 题解: 首先剩下的数要被k整除,剩下数的乘积要有k的全部因子,并且个数要大于等于 阅读全文
posted @ 2017-07-03 13:27 bin_gege 阅读(144) 评论(0) 推荐(0)
摘要:题目链接:Codeforces Round #418 (Div. 2) C. An impassioned circulation of affection 题意: 给你一个字符串,有q个询问,每个询问一个x和一个字符 o。 现在让你在原来的字符串上最多改变x个字符,问能构成最长的o子串的长度。 题 阅读全文
posted @ 2017-06-27 13:34 bin_gege 阅读(155) 评论(0) 推荐(0)
摘要:题目链接:hdu 4123 Bob’s Race 题意: 给你n个节点,n-1条边的树,每条边有一个边权,定义dis[i]为距离i这个点最远的距离。 现在有m个询问,每个询问给一个q,然后找一段节点标号连续的点,使得max(dis[j])-min(dis[i])<=q; 问最长的一段区间。 题解: 阅读全文
posted @ 2017-02-28 15:21 bin_gege 阅读(128) 评论(0) 推荐(0)
摘要:题目链接:hdu 2158 最短区间版大家来找碴 题意: 给你n个数,现在有m个询问,每个询问有q个数,让你从那n个数中选一个最小的区间,使得这个区间内包含有这q个数 题解: 双指针滚一下,具体细节看代码 1 #include<bits/stdc++.h> 2 #define F(i,a,b) fo 阅读全文
posted @ 2017-02-19 21:49 bin_gege 阅读(158) 评论(0) 推荐(0)
摘要:题目链接:hdu_5806_NanoApe Loves Sequence Ⅱ 题意: 给你一段数,问你有多少个区间满足第K大的数不小于m 题解: 直接双指针加一下区间就行 1 #include<cstdio> 2 #include<algorithm> 3 #define F(i,a,b) for( 阅读全文
posted @ 2016-08-06 21:56 bin_gege 阅读(206) 评论(0) 推荐(0)
摘要:C. They Are Everywhere time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output C. They Are Every 阅读全文
posted @ 2016-07-23 17:02 bin_gege 阅读(173) 评论(0) 推荐(0)
摘要:题目连接:http://codeforces.com/contest/676/problem/C 题意:一串字符串,最多改变k次,求最大的相同子串 题解:很明显直接尺取法 1 #include<cstdio> 2 #include<cstring> 3 #include<cmath> 4 #incl 阅读全文
posted @ 2016-05-26 01:38 bin_gege 阅读(123) 评论(0) 推荐(0)