上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 48 下一页
摘要: 题目链接:hdu_5795_A Simple Nim 题意: 有N堆石子,你可以取每堆的1-m个,也可以将这堆石子分成3堆,问你先手输还是赢 题解: 打表找规律可得: sg[0]=0 当x=8k+7时sg[x]=8k+8, 当x=8k+8时sg[x]=8k+7, 其余时候sg[x]=x;(k>=0) 阅读全文
posted @ 2016-08-04 18:42 bin_gege 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5793_A Boring Question 题意: 自己看吧,说不清楚了。 题解: 打表找规律 1 #include<cstdio> 2 typedef long long ll; 3 4 const int mod=1e9+7; 5 ll pow(ll a,ll b) 6 { 阅读全文
posted @ 2016-08-04 18:33 bin_gege 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_1403_Longest Common Substring 题意: 给你两个字符串,然你找最长的公共子串 题解: 后缀数组的经典应用,要找两个字符串的公共子串,那么就相当于找两个串的后缀的最长公共前缀,我们将两个字符串拼接在一起,中间插一个特殊字符 然后我们考虑height数组,h 阅读全文
posted @ 2016-08-03 17:18 bin_gege 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5792_World is Exploding 题意: 给你一个数列,让你找有多少个(a,b,c,d)满足a≠b≠c≠d,1≤a<b≤n,1≤c<d≤n,Aa<Ab,Ac>Ad. 题解: 如果abcd可以相等,那么就是所有的顺序对和逆序对相乘,但这里要不相等,所以我们减去相等的情况 阅读全文
posted @ 2016-08-03 11:08 bin_gege 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5787_K-wolf Number 题意: 给你一个区间,让你找满足任意k个数位内都没有相同的数字的个数 题解: 因为k不大,就直接将当前pos的前k-1个数传进去就行了 1 #include<cstdio> 2 #include<cstring> 3 int dig[20],l 阅读全文
posted @ 2016-08-02 22:28 bin_gege 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5791_Two 题意: 给你两串数列,问你相同的子序列有多少个,要注意,可以重复,比如1 和1 1 1 ,相同的子序列为3个 题解: 就和求最长公共子序列差不多,只不过要全部加起来 下面是官方题解: Two: 水题。dp[i][j]表示A序列前i个数和B序列前j个数的相同子序列对 阅读全文
posted @ 2016-08-02 21:39 bin_gege 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5783_Divide the Sequence 题意: 给你一个数列,让你分尽可能多的段,并且保证每一段的前缀和都不小于0 题解: 从后往前xjb贪心就行了 1 #include<cstdio> 2 3 const int N=1e6+7; 4 int a[N]; 5 int m 阅读全文
posted @ 2016-08-02 20:04 bin_gege 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5769_Substring 题意: 给你一个字符a和一个串b,问你有多少个包括a的字串 题解: 1 #include<bits/stdc++.h> 2 #define F(i,a,b) for(int i=a;i<=b;++i) 3 using namespace std; 4 阅读全文
posted @ 2016-08-02 00:50 bin_gege 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5778_abs 题意: 给你一个数x,然你找一个y,这个y只能被素数分解,每一个素数恰好出现2次,求y-x的绝对值最小 题解: 给官方的 ps:数据太水,打35个素数也能过 1 #include<bits/stdc++.h> 2 #define F(i,a,b) for(int 阅读全文
posted @ 2016-07-31 12:59 bin_gege 阅读(456) 评论(0) 推荐(0) 编辑
摘要: 题目链接:hdu_5776_sum 题意: 给你一串数,问你是否有一个连续的子序列的和为m的倍数 题解: 维护一个前缀和%m的值,如果前缀和%m的值为0或者有两个前缀和%m的值相同,那么就有一个连续区间的和为m的倍数 1 #include<bits/stdc++.h> 2 #define F(i,a 阅读全文
posted @ 2016-07-30 23:10 bin_gege 阅读(243) 评论(0) 推荐(0) 编辑
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 48 下一页