
递推
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
codeforces1369D TediousLee
https://codeforces.com/problemset/problem/1369/D一眼结论,从这棵树从下往上,能取就取,肯定能得到最大值,因为儿子数量更多一些,如果取父节点会影响很多子树。然后再考虑,i=3,只能取跟节点的1个爪子,i=4的时候,从下往上取,取中间的爪子,根节点不会被取,i=5的时候,也不会取根节点然后可以发现 对于level i , 由3棵子树+1个根节点形成,其中2棵i-2的树,1棵i-1的树那么如果i-2和i-1都不取根节点,也就是i的根节点的子节点,那么原创 2020-06-24 00:44:02 · 380 阅读 · 0 评论 -
[递推]Bzoj3930 选数[CQOI2015]
在l到r的数字中,含有因数为i*k的个数为r/(i*k)-(l)/(i*k),方案数就为t^n种,但gcd=i*k,则选择相同的n个数和f[i*k](2<=j<=m)都是不行的要减去,所以从大到小枚举i,最后输出f[1]就行啦(如果l<=k<=r ),就要给f[1]++#include<cstdio>#include<cstring>#define maxl 100010#define mod原创 2015-07-01 21:45:40 · 612 阅读 · 0 评论 -
CSUACM月赛1972
打表找规律,人品爆发发现公式2^(n+2)-5根据样例套出,然后直接就A了。。。题解很强:题目大意: 汉诺塔的变形,每种大小的汉诺塔变成了两个,问这两个结果顺序无所谓和顺序有不变的的移动步数各为多少?做法:递推,不过估计很多人都是找规律找出来的。对于n种大小盘子的,设顺序无关系的步数为f(n),顺序有关的步数为g(n),首先,对于一个大小的盘子,很容易理解,显然,f(1原创 2017-07-29 21:23:29 · 612 阅读 · 0 评论 -
CSU-ACM2017暑期训练3-递推与递归I - Erratic Expansion UVA - 12627
大意自己看题。一开始发呆好久相处了怎么求某时刻第i排的数量,结果a,b#include#include#define maxl 33long long c(int k){ long long sum=1; while(k--) sum*=3; return sum;}long long f(int k,int i){ if(i==0) return 0; i原创 2017-07-27 22:00:10 · 282 阅读 · 0 评论 -
2018牛客多校第四场 A Ternary String
设dp[i]为删掉原本的第i位需要经过多少天,然后可以根据规则发现一些规律,如果第i位是2的话,dp[i]=6*2^dp[i-1]-3,如果是第1位的话就是dp[i]=2^dp[i-1]+2,0:dp[i]=dp[i-1]+1,然而dp数组是非常大的,需要对mod进行取模,但是调用之前的dp[i-1]已经是取模过得,那么dp[i-1]的幂次必须是要对phi(mod)取模,而dp[i-1]又是由dp...原创 2018-07-29 09:59:26 · 317 阅读 · 0 评论 -
UVALive 7676 A Boring Problem
推公式辣鸡,和队友一起写了3小时= =。这张纸被用来垫烧烤盒了,最后是O(nk)的,不过网上别人的写法好像更加方便一点#include<bits/stdc++.h>using namespace std;typedef long long LL;const int maxn=5e4+5,maxm=100+5,mod=1e9+7;char ss[maxn];int...原创 2018-10-24 23:15:32 · 380 阅读 · 0 评论 -
codeforces 1117D 推递推式加矩阵快速幂
一个很显然的计数想法,令b=m-1,ans=C(n,0)+C(n-b,1)+C(n-2b,2).....然后就是无限的挂机了,E也不会,G也不会,F比G过的还少根本没看题,还好C题做的不算慢而且都是1A,所以小号分数超过大号了233。看了一个成都七中的oi选手在B站上上传的录屏,他当时通过m=2,m=3,m=4的数值情况丢到oeis上去然后找到了递推式的规律,学到了orz...对于一个相同...原创 2019-02-20 15:54:10 · 269 阅读 · 0 评论 -
LightOJ 1038
lightOJ挂了好多天。。。搞得题解现在才写,不过那4道题一起过了还是挺开心的233.http://lightoj.com/volume_showproblem.php?problem=1030一个数字每次可以除以他的所有约数,问期望几次到1。看见有T=20000,n=1e5,那么肯定就是预处理出来离线了。f[i]表示到1的期望次数,那么f[i]就等于他的所有约数j的f[j]+1...原创 2019-03-05 20:30:50 · 218 阅读 · 0 评论 -
codeforces 1140E Palindrome-less Arrays
考场上想得太简单了很显然,奇数位和偶数位上的分开后,相邻位置的数字不相同就是good了然后考场上直接乘法原理了。。。其实不然,因为1 -1 -1 1这种跟2 -1 -1 1这种答案是不相同的,但是我考场上没考虑到就把样例全过了。所以需要讨论,奇数位偶数位分开后,单独对其中一条数列讨论,分为左右都没有限制,只有左边有限制,只有右边,两边都有但数字不同,两边都有单数字相同这5种情况,分...原创 2019-03-23 16:24:42 · 272 阅读 · 0 评论