摘要:前前后后花了将近半个月,终于将吴神的十场cf的50+题目补完了,看到了各种技巧和DP的好题,为了方便以后查阅,新增一个分类便于查找,当然本分类的题目其他分类一般都有,先去吃个饭,回来刷题解==
阅读全文
摘要:其实读懂题意之后,题目总体还是比较好做的,除了个别地方==什么叫保证稳定呢,就是取完这个木块之后,木块的上面,左上,右上不因为他被拿了而没有支点首先要能想到用包含pair的map来判断某个坐标有没有木块(stl真方便set里面放的都是当前可以取的木块,用set来实现取最大值,取最小值,加木块,删木块...
阅读全文
摘要:很末尾到首开始看每一位对总和的贡献=倒数第一位:贡献了C(n-1,k)次个位数倒数第二位:贡献了C(n-2,k-1)次个位数,C(n-2,k)次十位数倒数第三位:贡献了C(n-2,k-1)次个位数,C(n-3,k-1)次十位数,C(n-3,k)次倒数第四位:贡献了C(n-2,k-1)次个位数,C(n...
阅读全文
摘要:记录前缀价值和,开26个map保存某字符的某价值出现的次数,再次出现加上即可= 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 mapmp[28]; 7 char s[100005]; 8 int main()...
阅读全文
摘要:灵活!首先,需要从后向前dfs,因为后缀。然后,不用再加limit了,但是在特殊的位置要知道该位加的是0还是1。这样的话,记住后缀mod k的值,就很好dfs了。dfs(pod,preMOD,flag) 1 #include 2 #include 3 int dp[1005][105][2],shi...
阅读全文
摘要:dfs(pos,sum,nlcm,flag)pos表示到第几位;sum表示前几位表示的数,因为太大可以mod所有数的最小公倍数2520;nlcm表示前几位的最小公倍数,最大只有2520,但还是太多需要离散化;flag表示有没有上限。dp[pos][sum][nlcm]; 1 #include 2 #...
阅读全文
摘要:关于01分数规划:http://www.cnblogs.com/perseawe/archive/2012/05/03/01fsgh.html算法很好,比较巧妙,尚未能深入理解。 1 #include 2 #include 3 #include 4 #include 5 using namespac...
阅读全文
摘要:将每列0和1数目切出来然后根据组合数来dp一直推到dp[0][0],即列有0个1的木有了,列有1个1的木有了== 1 #include 2 #include 3 long long dp[505][505],x[505][505]; 4 int main() 5 { 6 int n,m,i,...
阅读全文
摘要:1 #include 2 #include 3 int a[1000005],minv[1000005],num[1000005],gcdv[1000005]; 4 int gcd(int x,int y) 5 { 6 if (y==0) return x; 7 return gc...
阅读全文
摘要:1 #include 2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 long long a[1000005],b[1000005],pre[100005],maxv[1000005],from[100000...
阅读全文
摘要:1 #include 2 #include 3 int i,j,k,f,flag,c[300],s[300],t,x[6],y[6],a[6],b[6],mini,cnt; 4 long long temp; 5 int aa,bb,cc,dd1; 6 long long tempx[10],t...
阅读全文