摘要:
题目链接 "洛谷" . Solution 边双缩点然后$lca$跑$dis$就好了。 注意这里是边双,不知道为啥所有题解都说的是点双。 边双是定义在点上的,即每个点只属于一个边双;点双是定义在边上的,即每条边只属于一个点双。 c++ include using namespace std; void 阅读全文
摘要:
题目链接 "BZOJ" . "LOJ" . Solution 对原图建立圆方树。 那么可以注意到只有圆点会被算到答案,对于一个圆点,合法当且仅当去掉这个点之后的若干个连通块有两个或以上有标记点。 那么可以对标记点在圆方树上建立虚树,那么虚树边上的圆点和那些作为$LCA$建上去的圆点的个数即为答案。 阅读全文
摘要:
题目链接 "洛谷" . "LOJ" ,~~LOJ机子是真的快~~ Solution 我直接上暴力了...$O(n^2k)$洛谷要$O2$才能过...loj平均单点一秒... 直接枚举每个点为第$k$大的点,然后$dp$出方案数统计答案就好了。 $f[i][j]$$dfs$下去的时候表示考虑到$i$, 阅读全文
摘要:
题目链接 "codeforces" . "洛谷" . Solution 按照套路,可以$SAM$上线段树合并求出$endpos$集合,然后随便贪心一下就好了。 c++ include using namespace std; void read(int &x) { x=0;int f=1;char 阅读全文
摘要:
题目链接 "codeforces" . "洛谷" . Solution 典型的码农题... 思路很简单,对字符串数组建立广义$SAM$,然后把$s$扔进去跑,预处理匹配长度和匹配点,然后每次倍增跳,答案就直接上线段树合并就好了。 注意我也不知道为什么但是线段树合并好像不能基数排序后搞,否则会出事,如 阅读全文
摘要:
Description 在XYZ的dzy loves math6问世后,dzy一直觉得这道题答案太大,一点都不优美,于是他随手在外面套上一个μ。同时,他又觉得输入两个数实在太麻烦,于是题目变成了 ,你能解决这个问题吗? Input 第一行一个整数T表示询问组数,接下来T行每行一个整数n。 Outpu 阅读全文
摘要:
Description 给定正整数n,m。求 Input 一行两个整数n,m。 Output 一个整数,为答案模1000000007后的值。 Sample Input Sample Output Solution 推下式子,莫比乌斯反演一波: $$ \begin{align} ans=&\sum_{ 阅读全文
摘要:
Description 给定n个正整数a1,a2,…,an,求 的值(答案模10^9+7)。 Input 第一行一个正整数n。 接下来n行,每行一个正整数,分别为a1,a2,…,an。 Output 仅一行答案。 Sample Input Sample Output Solution 注意到$\va 阅读全文
摘要:
Description 风见幽香有一个好朋友叫八云紫,她们经常一起看星星看月亮从诗词歌赋谈到人生哲学。最近她们灵机一动,打算在幻想乡开一家小店来做生意赚点钱。这样的想法当然非常好啦,但是她们也发现她们面临着一个问题,那就是店开在哪里,面向什么样的人群。很神奇的是,幻想乡的地图是一个树形结构,幻想乡一 阅读全文
摘要:
题目链接 "BZOJ题面" 。 "洛谷题面" 。 Solution 随便推一推,可以发现瓶颈在求$\sum_{i=1}^n i^k$,关于这个可以看看 "拉格朗日插值法" 。 复杂度$O(Tm^2)$。 c++ include using namespace std; define int long 阅读全文