3287: Mato的刷屏计划 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 124  Solved: 43[Submit][Status] Description Mato同学喜欢上QQ,但是有少数傻逼总是问他一些弱智问题.Mato感到很反感,想要鄙视一下他们.他决定在QQ上刷屏,也就是发出一大堆字符.Mato的键盘上有4个键:A.B.C.D.按A就会输入一个字符,按B会把所有字符选中,按C会把选中的字符放入剪贴板,按D会插入剪贴板的内容.他的…
第一眼以为是傻逼斜率优化>_< f[i]表示按i次最多可输出字符数..f[i]=max{ f[i-1]+1,(i-j-1)*f[j] },j<i-2 结果n在100+的时候就喜闻乐见地爆了longlong 根据网上题解可得(T_T)..这题大概是要FFT优化?(跟着ccz大爷刷题果然高风险TAT 然而题解表示,这题求出f的前几项后,令x=n%5+15,最终答案f[n]=f[x]*4^((n-x)/5).......... 我死活没看出来这是为啥... 我显然是连FFT都不会的傻逼..只好…
http://www.lydsy.com/JudgeOnline/problem.php?id=1192 看到题我就好像想起以前小学升学考数学的最后一题,将一条金块分割最少的部分,使得每一天都能够支付给店主人任意的钱,这个方法很简单,就是将金块分割成1. 2. 4. 8. ... 2^k 使得 2^k<=n,最后将剩余的放入一个钱袋即可. 我是模拟的,logn的算法.1A了.看了题解才发现这题o1就可以出来...orz.直接算logn的上界就是答案... #include <cstdio>…
1432: [ZJOI2009]Function Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1205  Solved: 895[Submit][Status][Discuss] Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1 HINT 对于100% 的数据满足1 ≤ k ≤ n ≤ 100. Sou…
http://poj.org/problem?id=3253 这道题约等于合并果子,但是通过这道题能够看出来哈夫曼树是什么了. #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<iostream> #include<queue> using namespace std; #define LL long long ; int n…
水~ #include <cstdio> #define N 100004 #define mod 5000011 #define setIO(s) freopen(s".in", "r" , stdin) using namespace std; int f[N][2]; int main() { // setIO("input"); int n , k, i ; scanf("%d%d", &n, &a…
题面 题解 幸好咱不是在晚上做的否则咱就不用睡觉了--都什么年代了居然还会出高精的题-- 先考虑如果暴力怎么做,令\(G(x)\)为\(F(n,k)\)的生成函数,那么不难发现\[G^R(x)=\prod_{i=1}^n(x+i)\] 也就是说如果把\(G(x)\)的系数反过来就是后面那个东西,所以对于\(n\leq 100000\)的数据直接分治\(FFT\)就行了.不过因为这里的模数不一定满足原根性质,所以要用三模数\(NTT\)或拆系数\(FFT\)(所以咱为了这题还特地去学了一下拆系数-…
BZOJ 洛谷 http://www.cnblogs.com/LadyLex/p/7326874.html 插头DP.\(m+1\)个插头的状态需要用三进制表示:\(0\)表示无插头,\(1\)表示是左括号插头,\(2\)表示是右括号插头.为了方便用两位的二进制写.所以还需要个哈希表存状态. 转移的时候,对于左边上边这两个插头,如果某个插头为\(0\),很好转移.否则就分\(4\)种情况讨论下.不写了..见上面的链接. 还需要高精度.其它就是些细节了. 转移时特判下边界外有插头就不转移,会方便很…
题目链接 若点数确定那么ans = (n-2)!/[(d1-1)!(d2-1)!...(dn-1)!] 现在把那些不确定的点一起考虑(假设有m个),它们在Prufer序列中总出现数就是left=n-2-(d1-1)-(d2-1)-...-(dn-1) 这left个数本身又有m^{left}种 所以 ans = (n-2)!/[(d1-1)!(d2-1)!...(dn-1)!left!]*m^{left} 显然需要高精度.为避免高精除需要对每个阶乘分解质因数(这个组合数算出来一定是整数,所以分解质…
首先我们知道,对于两个数a,b,他们的gcd情况有如下形式的讨论 当a为奇数,b为偶数的时候gcd(a,b)=gcd(a div 2,b) 当b为奇数,a为偶数的时候gcd(a,b)=gcd(a,b div 2) 当a为偶数,b为偶数的时候gcd(a,b)=2*gcd(a div 2,b div 2) 当a为奇数,b为奇数的时候,根据欧几里德定律,有gcd(a,b)=gcd(a-b,b) (a>b)时 那么这道题就变成了不断地缩小a,b的范围了.直接高精就行了.当然数据为1,10^1000的时候…