题面欺诈系列... 因为一个点最多只能连到前k个点,所以只有当前的连续k个点的连通情况是对接下来的求解有用的 那么就可以计算k个点的所有连通情况,dfs以下发现k=5的时候有52种. 我们把它们用类似于并查集的方式表达(比如12132代表点1和点3连通,2和5连通,3自己),然后再压缩一下. 但要注意的是,12132和23213这两种实际对应的是一种连通情况,我们只要把它都化成字典序最小的那种就可以了 然后考虑增加一个新点以后状态的转移,可以枚举这个点与前k个点(始状态S)的连边情况,其中有一些…
题意 F.A.Qs Home Discuss ProblemSet Status Ranklist Contest 入门OJ ModifyUser  autoint Logout 捐赠本站 Problem 1494. -- [NOI2007]生成树计数 1494: [NOI2007]生成树计数 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1024  Solved: 592[Submit][Status][Discuss] Description 最…
1494: [NOI2007]生成树计数 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 793  Solved: 451[Submit][Status][Discuss] Description 最近,小栋在无向连通图的生成树个数计算方面有了惊人的进展,他发现: ·n个结点的环的生成树个数为n. ·n个结点的完全图的生成树个数为n^(n-2).这两个发现让小栋欣喜若狂,由此更加坚定了他继续计算生成树个数的 想法,他要计算出各种各样图的生成树数目.一天…
  (Another) YYF is a couragous scout. Now he is on a dangerous mission which is to penetrate into the enemy's base. After overcoming a series difficulties, (Another) YYF is now at the start of enemy's famous "mine road". This is a very long road…
题目 最早不会写,看了网上的分析,然后终于想明白了矩阵是怎么出来的了,哈哈哈哈. 因为边上的项目排列顺序不一样,所以写出来的矩阵形式也可能不一样,但是都是可以的 //愚钝的我不会写这题,然后百度了,照着大神的题解,有了如下的东东: //根据ff, mm, fm, mf ,先列出所有可能的组合方式(1表示连在一次,具体判断方式自己看看就知道了) // ff mm fm mf //ff 1 0 1 0 //mm 0 1 0 1 //fm 0 1 0 1 //mf 1 0 1 0 //题目中说不能有f…
Problem   Educational Codeforces Round 60 (Rated for Div. 2) - D. Magic Gems Time Limit: 3000 mSec Problem Description Input The input contains a single line consisting of 2 integers N and M (1≤N≤10^18, 2≤M≤100). Output Print one integer, the total n…
题目分析: 一个很显然的同类项合并.注意到p的大小最大为100,考虑把模p意义下相同的求出来最后所有的减去没有质数的做矩阵快速幂即可. 代码: #include<bits/stdc++.h> using namespace std; ; ; int n,m,q; ][]; ],num; ][],Res[][],po[][]; void init(){ flag[] = ; ;i<=m;i++){ if(!flag[i]) prime[++num] = i; ;j<=num&…
传送门 题意简述:问有多少长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数,且其中至少有一个数是质数,答案对201704082017040820170408取模(n≤1e9,m≤2e7,p≤100)(n\le1e9,m\le2e7,p\le100)(n≤1e9,m≤2e7,p≤100). 思路: 首先因为只需要是ppp的倍数,因此可以看成全局和对ppp取模为000方案数. 设状态f0/1,i,jf_{0/1,i,j}f0/1,i,j​表示不限制选出的数/选出的数不能是质…
考虑对一个串如何分割能取得最大值.那么这是一个经典的线段覆盖问题,显然每次取右端点尽量靠前的串.于是可以把串放在AC自动机上跑,找到一个合法串后就记录并跳到根. 然后考虑dp.设f[i][j]表示前i位走到AC自动机上j节点的概率,枚举下个字符即可转移.同时记录此时期望伤害,找到合法串就统计入答案. 并且注意到每次转移是相同的.矩阵快速幂优化即可. 以及非常卡精度,需要全程long double.cout的保留小数位数误差是相当大的,必须用printf.并且转移到某个字符的概率即1/alphab…
显然答案为Σkb·(n-k)a·C(n-k+1,k).并且可以发现ΣC(n-k,k)=fibn.但这实际上没有任何卵用. 纯组合看起来不太行得通,换个思路,考虑一个显然的dp,即设f[i][j][0/1]为前i为选了j个1其中第i位是0/1的方案数.这样当然能求出答案,复杂度O(n2). 注意到ab很小,并且事实上我们并不需要知道所有的方案数,而是只要求出贡献就可以了.而又有xayb=xa(n-x)b,这个式子显然只要求出所有Σxi就能求了.再由二项式定理,(k+1)b=ΣC(b,i)ki.那么…