![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HDU
cheung99857
这个作者很懒,什么都没留下…
展开
-
HDU1027【全排列
#include "iostream"#include "algorithm"#include "cstring"using namespace std;int main(){ int a[1005]; int n,m; while(cin>>n>>m){ memset(a,0,sizeof(a)); for...原创 2018-07-20 18:55:09 · 4622 阅读 · 0 评论 -
HDU - 2087 剪花布条[KMP字符串模板
例子输入AAAAAAAA输出3#include "iostream"#include "algorithm"#include "cstring"#include "cstdio"#include "iomanip"using namespace std;string a,b;int nextt[10005];void getnext(){ in...原创 2018-08-17 20:19:28 · 3411 阅读 · 0 评论 -
HDU - 1686 Oulipo [KMP字符串模板
#include "iostream"#include "algorithm"#include "cstring"#include "cstdio"using namespace std;string a,b;int nextt[10005];void getnext(int m){ int i=0,j=-1; nextt[0]=-1; while(i&...原创 2018-08-17 20:08:57 · 3388 阅读 · 0 评论 -
HDU - 1358 Period 【KMP求字符串前缀是否为周期串】
KMP中next[ ]数组有一个性质:若一个字符串s[ ]为循环串时(例如abcabcabc),那么它的next[ ]数组满足下列性质:1.len%(len-p[len])==0 2.len/(len-p[len]) 就是该字符串的循环次数 //注意 该题目中若len/(len-p[len])==1,则非循环串,不可取for(i=2;i<=n;i++){ i...原创 2018-08-20 10:25:06 · 3610 阅读 · 0 评论 -
HDU - 1711 [KMP模板
#include "iostream"#include "algorithm"#include "cstring"#include "cstdio"using namespace std;int a[1000055],b[10005],nextt[10005];void getnext(int m){ int i=0,j=-1; nextt[0]=-1; w...原创 2018-08-17 11:26:10 · 3362 阅读 · 0 评论 -
HDU - 3746 Cyclic Nacklace 【KMP模板 求字符串循环节个数【最大/最小循环节的个数
求最循环节的个数:#include "iostream"#include "algorithm"#include "cstring"#include "cstdio"#include "iomanip"using namespace std;string a;int nextt[100005];void getnext(){ int i=0,j=-1; n...原创 2018-08-18 09:15:43 · 3715 阅读 · 0 评论 -
HDU - 1176 免费馅饼【动态规划
dp[t][x]表示在t个的时候第x个位置接到的馅饼最多由于我们知道第一个位置是dp[0][5],我们可以将它作为最后要到达的位置,从最后一秒开始递归因为每秒移动不能超过一米所以在第0个位置的时候 dp[t][0]=max(dp[t+1][0],dp[t+1][1]);在第10个位置的时候dp[t][10]=max(dp[t+1][10],dp[t+1][9]);在第1到第...原创 2018-08-03 15:22:36 · 3679 阅读 · 0 评论 -
HDU - 1114 Piggy-Bank 【完全背包问题
在一定重量下可存的最大的价值存钱罐一定要存满,所以初始状态是满的dp[0]=0;根据题意知道在存钱罐装满的状态下,钱要尽可能的少,所以用min,则dp数组不清零,除了dp[0]之外全部存放大数。#include "iostream"#include "algorithm"#include "cstdio"#define INF 1<<29using namespa...原创 2018-08-03 10:07:07 · 3919 阅读 · 0 评论 -
HDU - 1087Super Jumping! Jumping! Jumping!【上升子序列元素和的最大值
状态转移方程 maxx[i]=max{dp[j]+a[i],dp[i]}不过我这里并没有再多开一个数组,直接用maxx代替【×其实是没有想到,不过也差不多(lll¬ω¬)#include "iostream"#include "cstring"#include "algorithm"using namespace std;int a[1050];long long dp[10...原创 2018-08-02 10:11:11 · 4007 阅读 · 0 评论 -
HDU1213【并查集【求连通域
注意sum不用减一即可 #include "iostream"#include "cstring"using namespace std;int pre[1005],sum;int findd(int x){ int r=x; while(pre[r]!=r) r=pre[r]; int i=x,j; while(i!=r){ ...原创 2018-07-30 22:01:13 · 4598 阅读 · 0 评论 -
HDU - 5289 Assignment 【RMQ+二分查找
题意:给一串数列,求区间 [l,r] 最大值-最小值 < k ,这种区间的个数思路:枚举a[i],以a[i]为起点,然后二分找终点(大区间满足条件的话小区间肯定也满足),根据起点和终点的位置可以算出以a[i]为起点可满足条件的区间的个数。怎么判断区间是否满足条件?可以用st算法用O(N*logN)方法进行预处理,然后O(1)查询区间最大值可最小值。RMQ模板:void ...原创 2018-08-21 19:52:22 · 5992 阅读 · 0 评论