[JZOJ5131][SDOI省队集训2017]距离

题目描述点分治询问拆成四条到根的询问。 bfs一遍,处理出可持久化点分树。 查询直接查。#include #include #include #define fo(i,a,b) for(i=a;i=b;i--) using namespace std; typedef l...
阅读(41) 评论(0)

[JZOJ5137][SDOI省队集训2017][bzoj4842]养猫

题目大意ls是一个特别堕落的小朋友,对于n个连续的小时,他将要么睡觉要么打隔膜,一个小时内他不能既睡觉也打隔膜 ,因此一个小时内他只能选择睡觉或者打隔膜,当然他也必须选择睡觉或打隔膜,对于每一个小时,他选择睡觉或 打隔膜的愉悦值是不同的,对于第i个小时,睡觉的愉悦值为si,打隔膜的愉悦值为ei,同时又有一个奥妙重重的 规定:对于任意一段连续的k小时,ls必须至少有t1时间在睡觉,t2时间在打隔...
阅读(125) 评论(0)

[JZOJ5136][SDOI省队集训2017]重排

题目大意做法按拓扑序倒序做。 设出边个数为k。 没有自环可以考虑k^2从大到小枚举权值v然后two pointer来计算P(v)表示>=v的概率,最后前缀相减即可。 注意不要写成k^2带log。 这里很麻烦。 有自环可以考虑二分+判定。 具体见代码。#include #include #include #define fo(i,a,b)...
阅读(53) 评论(0)

[JZOJ5135][SDOI省队集训2017]逆序对

题目大意有多少n的排列逆序对个数为k?模型转化假设有一个i的排列,插入i+1逆序对个数会增加多少? 发现会增加0~i。 因此模型转化为,n个变量,0<=xi<i0<=xi<i 问有多少x序列,满足和为k。生成函数意义把第i个的生成函数写出来。 ∑i−1j=0xj\sum_{j=0}^{i-1}x^j=1−xi1−x\frac{1-x^i}{1-x} 定义F(x)=Πni=11−xi1−xF...
阅读(47) 评论(0)

[JZOJ5134][SDOI省队集训2017]三元组

题目大意求∑ai=1∑bj=1∑ck=1[(i,j)=1][(i,k)=1][(j,k)=1]\sum_{i=1}^a\sum_{j=1}^b\sum_{k=1}^c[(i,j)=1][(i,k)=1][(j,k)=1]推式子首先假设a<=b<=c。 第一步转化为 ∑ai=1∑bj=1,(j,i)=1∑ck=1,(k,i)=1[(j,k)=1]\sum_{i=1}^a\sum_{j=1,(j,i...
阅读(63) 评论(0)

[JZOJ5133][SDOI省队集训2017]重建

题目描述傻逼题预处理每个图里经过k条边的最短路。 然后可以用单调栈求出一些关键的c值使得某副图改变最短路经过的边数。 接着顺序扫这些关键点,解方程即可。#include #include #include #define fo(i,a,b) for(i=a;i=b;i--...
阅读(82) 评论(0)

[JZOJ5132][SDOI省队集训2017]子序列

题目大意字符集为9的字符串。 若干次询问区间本质不同的子序列个数。考虑暴力子序列要求本质不同。 假如每个位置向后每种字符的第一个位置连单向边。 设置一个虚点向区间每种字符第一个位置连单向边。 那么就是这个虚点出发有多少走法。 用另一种形式,你设f[i,j]表示最后走到了i,是从区间j第一次出现的位置开始走的,有多少走法。 你考虑i左移一格如何更新,发现 对于新的i,有f[i][a[i]...
阅读(74) 评论(0)

[JZOJ5130][51nod1446][SDOI省队集训2017]苹果树

题目描述有N个点(N=0那么这个点为定义为good。现在给这N个点间连上N-1条边,使它们构成一个生成树,定义树中的点为great点当且仅当这个点本身是good点且与其相邻的点中至少有另一个good点。树的价值等于树中所有great点的价值和。定义限制价值树是指...
阅读(60) 评论(0)

[JZOJ5129][SDOI省队集训2017]字符串

题目大意从n个字符串中依次选出一个子串拼接,求本质不同的数量。SAM我们尽量长化前面的。 于是倒着做,对每个串都要建SAM。 只需要处理开头是某个字符的方案数,SAM的一个节点没有该转移边即可。 大概就这样,懒得写清楚了。#include #include #include #define fo(i,a,b) for(i=a;i<=b;i...
阅读(52) 评论(0)

[JZOJ5127][SDOI省队集训2017]塔

题目描述DP感觉这是一种套路题,自己见得太少了…… 首先,假如我们定了塔与塔间的相对顺序,就可以知道相邻至少长度的和s,于是得到t=L-s-1,那么答案容易发现是一堆组合数相加得到Cnt+nC_{t+n}^n s是n^2级别,可以考虑dp弄出方案数。 考虑从大到小插入,设f[i,j,k]表示已经插入了n~i,目前s为j,有k段。 现在有k段,我们可以把两段用i合并成一段,段数-1,对j的贡献...
阅读(74) 评论(0)

[JZOJ5126][SDOI省队集训2017]棋盘

题目大意n*n的网格里有障碍或空位,你要往里面放棋子。只能在空位里放棋子,每个空位至多放1个。 如果两个棋子位于同一行或同一列,且它们之间没有障碍,那么就会产生1的费用。 若干询问如果放k个棋子最小费用是多少。网络流把障碍与障碍之间抽出来叫段。 那么自然有横段和竖段。 同一个段内如果有t个棋子,产生t*(t-1)/2的费用。 于是可以根据这个建费用流图。 可以动态加边来优化。#inclu...
阅读(62) 评论(0)

[JZOJ5124][SDOI省队集训2017]dierti

题目描述对于一棵有根树,定义一个点u 的k− 子树为u 的子树中距离u 不超过k 的部分。注意,假如u 的子树中不存在距离u 为k 的点,则u 的k−子树是不存在的。 定义两棵子树是相同的,当且仅当不考虑点的标号时,他们的形态是相同的(儿子的顺序也需要考虑)。给定一棵n 个点,点的标号在[1,n],以1 为根的有根树。问最大的k,使得存在两个点u ̸= v,满足u 的k− 子树与v 的k− 子树相...
阅读(98) 评论(0)

[JZOJ5123][SDOI省队集训2017]diyiti

题目大意在一个长度为n的数列中找出六个数,使得可以把它们分成四组,每组的和均相等。求方案数。XJB做只有1+1+1+3或1+1+2+2两种拆分。 先预处理two[x]表示找出两个数和为x的方案数,以及one[x]表示有多少数是x。 对于1+1+1+3,枚举那个1是x,首先有一个C3one[x]C_{one[x]}^3。 对于那个3,我们先枚举一个ai,然后对应方案数是two[x-a[i]]。...
阅读(79) 评论(0)

[bzoj4893/bzoj4895]项链分赃,一个强大的脑洞

试证明一条n个珠宝的项链,每个珠宝有一个颜色,一共m种颜色。每种颜色均有偶数个珠宝。 现在切若干刀分成若干段,将一些段给A另一些给B。 使A和B每种颜色获得的珠宝数相同。 试证明至多m刀即可。地球问题基本是参考原题解的。 假设地球是一个完美的球体,而且气温和气压的变化是连续的,那么地球上一定存在一对相对的点气温和气压都相等。 我们来考虑证明吧。 假设你和你的女朋友都绕赤道走了半圈,且时刻...
阅读(243) 评论(5)

[bzoj3711]Druzyny

题目描述体育课上,n个小朋友排成一行(从1到n编号),老师想把他们分成若干组,每一组都包含编号连续的一段小朋友,每个小朋友属于且仅属于一个组。 第i个小朋友希望它所在的组的人数不多于d[i],不少于c[i],否则他就会不满意。 在所有小朋友都满意的前提下,求可以分成的组的数目的最大值,以及有多少种分组方案能达到最大值。神题我们考虑DP。 f[i]表示将前i个人分组的最大值,-1表示不可能,g[...
阅读(107) 评论(0)
652条 共44页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:163933次
    • 积分:8221
    • 等级:
    • 排名:第2235名
    • 原创:640篇
    • 转载:5篇
    • 译文:0篇
    • 评论:159条
    公告
    幻梦终醒,本无不散之宴,却不悔付此华年。
    最新评论
    文章分类