该文被密码保护。 阅读全文
摘要:
快速数论变换ntt。 早上才刚刚接触了一下FFT,然后就开始撸这题了,所以要详细地记录一下。 看了这篇巨巨的博客才慢慢领会的:http://blog.csdn.net/cqu_hyx/article/details/52194696 FFT的作用是计算卷积。可以简单的理解为计算多项式*多项式最后得到 阅读全文
摘要:
水题。 阅读全文
摘要:
水题。 阅读全文
摘要:
开30W个vector将数字归类,每一类数字开一个指针P,记录已经阅读到哪一个了,还可以开一个优先队列维护这些指针P。 阅读全文
摘要:
FFT,还没有彻底理解,套了个板子。 阅读全文
摘要:
记录一下每个位置最终到达的位置。然后每次操作排序。 阅读全文
摘要:
如果左括号数量和右括号数量不等,输出No 进行一次匹配,看匹配完之后栈中还有多少元素: 如果n=2,并且栈中无元素,说明是()的情况,输出No 如果n=2,并且栈中有元素,说明是)(的情况,输出Yes 如果n>2,并且栈中没有元素,或者有2个,或者有4个,输出Yes 如果n>2,并且栈中元素个数大于 阅读全文
摘要:
dp[i]表示i子图的最小染色数目。 dp[i]=min( dp[i], dp[j]+1 ), j是i的子集,并且j图内的点没有边相连。 高效率枚举i子集的方法:for(int j=i;j;j=(j-1)&i) 每一个j都是i的子集。 阅读全文
摘要:
该问题和xi,di均无关,碰撞只会使得速度反向,大小不会变。因此只要计算速度。 阅读全文
摘要:
首先判断一下两个集合是否能够拓扑排序,顺便记录下每个节点的拓扑序。 然后看T2中每个点在T1中能够放在哪一个位置,记录下这个位置Pi。 然后T2中(按拓扑序排好),计算Pi的一个非严格递增的LIS。LIS长度就是答案。 这题scanf读入都900+ms了,有时直接卡TLE。改用gets整行读入,时间 阅读全文
摘要:
n*(m-1)/(m*m) 阅读全文
摘要:
构造。从a[i]最小的开始放置,例如放置了a[p],那么还未放置的,还需要建边的那个点 需求量-1,然后把边连起来。 阅读全文
摘要:
搞了第三个栈来表示合并之后的。偷懒写了一个优先队列。 阅读全文
摘要:
状压dp计算方案数。 dp[s]表示抽到s状态的牌的方案数有几种。 如果s状态已经获胜,那么答案可以加上dp[s]*剩余未抽的牌的全排列数,该状态不再向后转移。 如果s状态未获胜,但是还可以抽牌,那么方案数往后转移。 如果s状态未获胜,且不能抽牌,那么该状态也不再向后转移。 阅读全文
摘要:
从a变到b,也就是将a一直除素因子,除到1为止,然后乘b的素因子,一直乘到b。 但是gcd(a,b)部分是不用除下去的。所以d(a,b)=a/gcd(a,b)的素因子个数+b/gcd(a,b)的素因子个数。 然后....脑洞开始...... 枚举这个因子P,然后去计算a/P的素因子个数+b/P的素因 阅读全文
摘要:
加维降复杂度 阅读全文
摘要:
方法太厉害了....看了官方题解的做法....然后...想了很久很久才知道他想表达什么.... 阅读全文