Processing math: 0%

09 2018 档案

摘要:题目大意:有n(n\leqslant10^5)种物品,第i个物品体积为v_i,都有10^5件。给定m(m\leqslant10^5),对于s\in [1,m],请你回答用这些商品恰好装s体积的方案数 题解:(by Weng_weijie) 背包问题模板(误) 对每个物品构 阅读全文
posted @ 2018-09-29 20:27 Memory_of_winter 阅读(307) 评论(0) 推荐(0)
摘要:题目大意:给出n-1次多项式A(x),求一个 \bmod{x^n}下的多项式B(x),满足B(x) \equiv e^{A(x)}。 题解:(by Weng_weijie) 泰勒展开:$$f(x)=f(x_0)+\dfrac{f'(x_0)(x-x_0)}{1!}+\dfrac{ 阅读全文
posted @ 2018-09-29 15:32 Memory_of_winter 阅读(446) 评论(0) 推荐(0)
摘要:题目大意:给你一个集合n,m,x,S(S_i\in(0,m],m\leqslant 8000,m\in \rm{prime},n\leqslant10^9),求一个长度为n的序列Q,满足Q_i\in S,且\prod\limits _{i=1}^nQ_i=x,求序列的个数 题解: 阅读全文
posted @ 2018-09-28 16:03 Memory_of_winter 阅读(151) 评论(0) 推荐(0)
摘要:题目大意:有一个小偷,拿k个东西,有n种产品,每种产品都有无限多个。对于每个第i 种产品,它的价值是A_i。可能偷走的物品价值之和。 题解:对于所有的物品构造生成函数F(x)=\sum\limits_{i\in A}x^i,取k个物品相当于取其中的k项相乘,输出$F^k( 阅读全文
posted @ 2018-09-28 14:14 Memory_of_winter 阅读(361) 评论(2) 推荐(0)
摘要:题目大意:给出n-1次多项式A(x),求一个 \bmod{x^n}下的多项式B(x),满足B(x) \equiv \ln A(x)。在\bmod{998244353}下进行。保证A[0]=1 题解:$$B(x)=\ln A(x)\\B'(x)=\dfrac{A'(x)}{ 阅读全文
posted @ 2018-09-28 12:40 Memory_of_winter 阅读(289) 评论(0) 推荐(0)
摘要:题目大意:求n个点的带标号的无向连通图的个数 题解:令F(x)为带标号无向连通图个数生成函数,G(x)为带标号无向图个数生成函数 那么G(x) = \sum_{i=0}^{\infty} \dfrac{2^{i(i-1)/2}}{i!} x^i 枚举连通块个数可得$G(x)=\sum 阅读全文
posted @ 2018-09-27 20:27 Memory_of_winter 阅读(158) 评论(0) 推荐(0)
摘要:题目大意:给一个像素的a+b,每个数字为7\times5的像素,每两个数字之间有间隔 题解:乱搞读入 卡点:无 C++ Code: 阅读全文
posted @ 2018-09-27 15:53 Memory_of_winter 阅读(286) 评论(0) 推荐(0)
摘要:题目大意:对于一棵随机生成的n个结点的有根二叉树,所有不同构的形态等概率出现(这里同构当且仅当两棵二叉树根相同,并且相同节点的左儿子和右儿子都相同),求叶子节点个数的期望是多少? 题解:令f_n表示n个节点的二叉树的个数,g_n表示这f_n棵二叉树的叶子节点个数和。 打(ti)表 阅读全文
posted @ 2018-09-27 14:45 Memory_of_winter 阅读(199) 评论(0) 推荐(0)
摘要:题目大意:一个长度为n的字符串,要求把它分成尽可能多的小块,使得这些块构成回文串 题解:贪心,从两边从找尽可能小的块使得左右的块相等,判断相等可以用hash 卡点:无 C++ Code: 阅读全文
posted @ 2018-09-27 11:33 Memory_of_winter 阅读(294) 评论(0) 推荐(0)
摘要:题目大意:有n根竹竿,第i根竹竿在i位置,第​i根竹竿高度为​h_i,每根竹竿可以向左倒或向右倒,问有几对竹竿倒下后顶端重合。 题解:求出每根竹竿倒下后的位置,离散化,记录一下每个点出现次数就行了 卡点:没开long\;long C++ Code: 阅读全文
posted @ 2018-09-25 20:32 Memory_of_winter 阅读(239) 评论(0) 推荐(0)
摘要:题目大意:有n个元素,第i个元素有三个属性a_i,b_i,c_i,设f(i)=\sum\limits_{i\not = j}[a_j\leqslant a_i,b_j\leqslant b_i,c_j\leqslant c_i],令$d(i)=\sum\limits_{j=1}^n[ 阅读全文
posted @ 2018-09-25 18:17 Memory_of_winter 阅读(253) 评论(0) 推荐(0)
摘要:题目大意:有n个位置,有三种数,每个位置只可以填一种数,d(d\leqslant8)个位置有三种选择,其他位置只有两种选择。有一些限制,表示第i个位置选了某种数,那么第j个位置就只能选规定的数 输出一组合法的选数方案,无解输出-1 题解:考虑d=0的情况,就是2-sat阅读全文
posted @ 2018-09-22 18:09 Memory_of_winter 阅读(138) 评论(0) 推荐(0)
摘要:题目大意:给你一张n个点m条边的无向图,求一条1->n的路径,使得经过路径值的异或值最大(重复经过重复计算) 题解:某条路k被重复走了两次,那么它的权值对答案的贡献就是0,但是通过这条路径k,可以到达它连接的另一个点。 可以将路径拆成两部分,一部分是环,另一部分是链。假设我们 阅读全文
posted @ 2018-09-21 14:46 Memory_of_winter 阅读(212) 评论(0) 推荐(0)
摘要:题目大意:有n盏灯,m个开关(n,m\leqslant 50),每个开关可以控制的灯用一串OX串表示,O表示可以控制(即按一下,灯的状态改变),X表示不可以控制,问有多少种灯的亮暗状态 题解:线性基,线性基有一个性质,插入的数的任意一个集合的异或值都不同,所以若插入了k阅读全文
posted @ 2018-09-20 16:50 Memory_of_winter 阅读(236) 评论(0) 推荐(0)
摘要:题目大意:给定n个数,选取任意个数,使得他们的异或和最大。 题解:线性基,原理贪心看不懂。 对于每一个数,设它的最高位的1在第i位,如果此时P_i为空,就将这个数加入线性基,否则异或上P_i继续找。最后贪心看ans异或上线性基的这一位会不会变大,若变大就转移 卡点:无 C++ 阅读全文
posted @ 2018-09-20 16:31 Memory_of_winter 阅读(144) 评论(0) 推荐(0)
摘要:题目大意:有T(1\leqslant T\leqslant 10)组数据,每组数据给你A,B,C(0<A,B,C\leqslant 10^7),求$\sum\limits_{i=1}^A\sum\limits_{j=1}^B\sum\limits_{k=1}^C\varphi((i,j^2, 阅读全文
posted @ 2018-09-20 15:23 Memory_of_winter 阅读(176) 评论(0) 推荐(0)
摘要:题目大意:有n个小时,有m个节目(每种节目都有类型0/1),有k个人,一个人连续看相同类型的节目会扣w快乐值。 每一种节目有都一个播放区间[l,r]。每个人同一时间只能看一个节目,第i个节目只能一个人看,看完可以获得快乐val_i。问最多可以获得多少快乐? 题解:最大 阅读全文
posted @ 2018-09-19 20:33 Memory_of_winter 阅读(113) 评论(0) 推荐(0)
摘要:题目大意:T(T\leqslant 10^5)组数据,每组数据给你n(n\leqslant 2\times 10^7),求\sum\limits_{i=1}^n\sum\limits_{j=1}^{i-1}[(i+j,i-j)==1] 题解:$$\def\dsum{\displaysty 阅读全文
posted @ 2018-09-18 20:14 Memory_of_winter 阅读(92) 评论(0) 推荐(0)
摘要:题目大意:给定nA类元素和mB类元素,每类元素有值Sk个值x_0,x_1,\dots,x_{k-1}(k\leqslant 5)。 要求选出一个A类元素aB类元素b,最大化$a.S+b.S+\sum\limits_{i=0}^{k-1}|a.x_i 阅读全文
posted @ 2018-09-18 13:41 Memory_of_winter 阅读(107) 评论(0) 推荐(0)
摘要:题目大意:给你n,一种合法的排列为,排列中没有s[i\%n+1]-s[i]==1,求合法方案数 题解:容斥,令f_{i,j}表示有i个元素,至少包含js[i\%n+1]-s[i]==1的方案数,发现f_{n,1}=\binom n 1(n-2)!个 推广$f_{n,k} 阅读全文
posted @ 2018-09-17 20:46 Memory_of_winter 阅读(150) 评论(0) 推荐(0)
摘要:题目大意:给一张无向图,求三元组(u,v,w)满足u->v->w为简单路径,求个数 题解:圆方树,缩点后DP,因为同一个点双中的点一定地位相同 卡点:1.father数组开小,一不小心就续到了下面的boolvis数组中,然后就挂成98,因为发现去掉没用的vis数组变 阅读全文
posted @ 2018-09-17 19:39 Memory_of_winter 阅读(143) 评论(0) 推荐(0)
摘要:题目大意:给一张无向图,要求找一对st,使得其路径上的割边是最多的,输出其数量。 题解:把边双缩点以后求树的直径。 卡点:无 C++ Code: 阅读全文
posted @ 2018-09-17 13:52 Memory_of_winter 阅读(231) 评论(0) 推荐(0)
摘要:题目大意:一个有向图称为半连通的,当且仅当对于任意两点u,v,都满足u能到达v或者v能到达u。给一张有向图,问该图最大半连通子图的节点个数及方案数。 题解:发现任意一个强连通分量显然都是半连通子图。把它们都缩成一个点。形成一个DAG,问题就转化为了找最长链长度及方案数。$DP 阅读全文
posted @ 2018-09-17 13:07 Memory_of_winter 阅读(162) 评论(0) 推荐(0)
摘要:题目大意:给一棵树,有四种操作: 题解:LCT乱搞 卡点:无 C++ Code: 阅读全文
posted @ 2018-09-16 19:40 Memory_of_winter 阅读(175) 评论(0) 推荐(0)
摘要:题目大意:基本同上一题[bzoj5329][Sdoi2018]战略游戏,只是每个点集内只有两个点,且只有一组询问而已。(双倍经验?我反正就直接改了一下代码就交了) 题解:同上一题(链接见“题目大意”) 卡点:无 C++ Code: #include <cstdio> #include <cstrin 阅读全文
posted @ 2018-09-15 16:56 Memory_of_winter 阅读(252) 评论(0) 推荐(0)
摘要:题目大意:多组数据,每组数据给一张图,多组询问,每个询问给一个点集,要求删除一个点,使得至少点集中的两个点互不连通,输出方案数 题解:圆方树,发现使得两个点不连通的方案数就是它们路径上的圆点个数。如何处理重复?可以按圆方树的dfn序排序,相邻两点求一下贡献,这样贡献就被重复计算了两次,除去k 阅读全文
posted @ 2018-09-15 15:08 Memory_of_winter 阅读(302) 评论(0) 推荐(0)
摘要:题目大意:有2^n个人,每相邻的两个人比赛一次。令两个人的编号为a,b(a\leqslant b),若a\neq 1,则a的人获胜;否则若b\in Sb获胜,不然1获胜。钦定1获胜,问可以的开始的顺序的方案数 题解:状压DP,令开始的第i位的人的编号为$p_ 阅读全文
posted @ 2018-09-14 14:01 Memory_of_winter 阅读(178) 评论(0) 推荐(0)
摘要:题目大意:给定一个字符串,求一个最短的串要求没有在该字符串的子串中出现过,如果有多个,输出字典序最小的那一个。 题解:倒着跑一遍原字符串(以下编号为1\sim n),按出现了所有26个字母来分段,把完整的段从左到右编号,第i段为[l_i,r_i],答案的长度就是分成的完整的段+1 阅读全文
posted @ 2018-09-13 15:53 Memory_of_winter 阅读(149) 评论(0) 推荐(0)
摘要:题目大意:有一个n\times m01矩阵,可以把任意行或列反转,问最大的全为一的子矩阵的面积 题解:有一个结论:若一个子矩形S中的任意一个2\times 2的子矩形都含有偶数个1,则存在一种操作使得S中全为1。 就令四个点亦或值为0的格子(有偶数个1)的左上角 阅读全文
posted @ 2018-09-13 14:12 Memory_of_winter 阅读(164) 评论(0) 推荐(0)
摘要:题目大意:有一个n位的数,设第i位为a_i(最高位为a_1)。问满足(\sum\limits_{i=2}^n(a_i-a_{i-1}))==k的数的个数(不含前导零) 题解:发现$(\sum\limits_{i=2}^n(a_i-a_{i-1}))==k\Leftrightarr 阅读全文
posted @ 2018-09-13 11:22 Memory_of_winter 阅读(297) 评论(0) 推荐(1)
摘要:题目大意:有4n个硬币,放在2n个位置(即放成两排),有两个人,轮流取。第一个人取上面的,第二个人取下面的,每个人只可以取两个人都没取过的位置。若硬币正面向上,为1,反面为0。把取得的硬币按取得顺序排成一列,这个二进制数大的人赢,为有没有先手必胜策略。 题解:贪心,一定是先取正面向上 阅读全文
posted @ 2018-09-13 11:06 Memory_of_winter 阅读(197) 评论(0) 推荐(0)
摘要:题目大意:给你一个长度为2n的括号序列,保证n个`(`,n个`)`。要求输出一种可行方案,通过小于等于n的步数,每次交换区间[x_i,y_i](立即交换),使得最后括号序列合法 题解:找到第一个`)`和最后一个`(`,交换 卡点:看成读入后一起交换 C++ Code: 阅读全文
posted @ 2018-09-12 20:43 Memory_of_winter 阅读(270) 评论(0) 推荐(0)
摘要:题目大意:给一棵n个节点的树,每个点有一个值C_i,每次询问一条路径x->y,求\sum\limits_{c}val_c\times \sum\limits_{i=1}^{cnt_c}worth_i(cnt_c=\sum\limits_{i\in(x->y)}[C_i==c])。带修 阅读全文
posted @ 2018-09-12 16:11 Memory_of_winter 阅读(378) 评论(0) 推荐(0)
摘要:题目大意:有一棵n个节点的树,第i个点有一个颜色C_im组询问,每次问x->y的路径上有多少种颜色 题解:树上莫队,把树按欧拉序展开成一条链,令第i个节点第一次出现在序列中为in_i,第二次为out_i,每一个询问就是看in_x->in_y中只出现一次的节点的颜 阅读全文
posted @ 2018-09-12 07:58 Memory_of_winter 阅读(232) 评论(0) 推荐(0)
摘要:题目大意:给一串长度为n的数字,求出其中最长的至少出现k(2\leqslant k\leqslant n)次的字段,输出长度 题解:SAMDP 卡点:多处数组未开两倍 C++ Code: 阅读全文
posted @ 2018-09-10 15:33 Memory_of_winter 阅读(167) 评论(0) 推荐(0)
摘要:题目大意:给你n,m,p(p \in \rm prime),求出C_{n + m}^m\bmod p(可能p\leqslant n,m) 题解:卢卡斯Lucas定理,C_B^A\bmod p等于把A,B写成p进制时每一位的组合数相乘,设$A=a_n\times p^n+a_{ 阅读全文
posted @ 2018-09-10 13:27 Memory_of_winter 阅读(163) 评论(0) 推荐(0)
摘要:题目大意:给你一个字符串,求出它的最长回文字段 题解:manacher算法 卡点:p数组未开两倍空间 C++ Code: 阅读全文
posted @ 2018-09-09 15:41 Memory_of_winter 阅读(130) 评论(0) 推荐(0)
摘要:题目大意:给你一个长度为n的序列,要求出长度大于等于len的字段的中位数中最大的一个中位数 题解:可以二分答案,对于比它小的数赋成-1,大的赋成1。求前缀和,若有一段区间的和大于0,说明这个数可以作为中位数。因为长度要大于等于len,所以可强制长度大于等于len。 如何求 阅读全文
posted @ 2018-09-09 14:38 Memory_of_winter 阅读(122) 评论(0) 推荐(0)
摘要:题目大意:有n个数,有m个操作,有三种: (线段树2就是先读入n\;m\;p,再读入序列;本题是先读入n\;p,读入序列,再读入m,双倍经验) 题解:线段树,把lazy\_tag变成两个,分别记录区间加和区间乘,注意乘法的优先级比加法高 卡点:无(我以前写的是什么代码啊?)C 阅读全文
posted @ 2018-09-07 15:17 Memory_of_winter 阅读(151) 评论(0) 推荐(0)
摘要:题目大意:有n个点,每个点有一个距离(从小到大给出),从第i个点跳一次,会跳到距离第i个点第k远的点上(若有两个点都是第k远,就跳到编号小的上)。问对于从每个点开始跳,跳m次,最后会到哪个点 题解:难点主要在处理第k远上(跳只需要一个类似快速幂的东西就好了,也就是倍增)。 阅读全文
posted @ 2018-09-07 13:59 Memory_of_winter 阅读(163) 评论(0) 推荐(0)
摘要:题目大意:给定一个n个点m条边有向图,第i个点有权值w_i,求一条路径,使路径经过的点权值之和最大,输出点权和,(多次经过一个点只算一次点权) 题解:tarjan缩点+DP 卡点:1.多处i,j打错 2.要求找到一条路径,看成了终点必须为n C++ Code: 阅读全文
posted @ 2018-09-07 12:59 Memory_of_winter 阅读(164) 评论(0) 推荐(0)
摘要:题目大意:有一棵树,第i个点的点权为s_i(s_1>0)。初始有每个点都是亮的。m次修改,每次改变一个点的亮暗,回答包含1的全亮的连通块中点权和最大的连通块的和的值。题解:正解不怎么会(我只打了一遍代码),这里是97分代码(复杂度O(n^2log_2n),暴力复杂度$O(n^ 阅读全文
posted @ 2018-09-06 15:22 Memory_of_winter 阅读(179) 评论(0) 推荐(0)
摘要:题目大意:有一串长度为n的序列,为1\sim n的一个排列,五个操作: 题解:平衡树维护序列 卡点:无 C++ Code: 阅读全文
posted @ 2018-09-06 11:24 Memory_of_winter 阅读(185) 评论(0) 推荐(0)
摘要:题目大意:有两个序列ab,每个分别有n(n\leqslant10^4)个元素,序列a中的数为0\sim n-1的一个排列。T_i(a_i+b_i)\bmod n或者(a_i-b_i)\bmod n。要求使得$\displaystyle\bigcup\limits_ 阅读全文
posted @ 2018-09-04 10:34 Memory_of_winter 阅读(168) 评论(0) 推荐(0)
摘要:题目大意:有一张n个点,m条边的无向图,第i条边有权值a_i,b_i,求一条1n的路径,使得这条路径上\max\{a_i\}+\max\{b_i\}最小 题解:先想到二分,然而两个权值,有没有关键字先后顺序的二分我并不会。。。 然后发现,可以先按a_i把每条边排序, 阅读全文
posted @ 2018-09-03 19:49 Memory_of_winter 阅读(163) 评论(0) 推荐(0)
摘要:题目大意:有n个数,两个操作 题解:把每个p\leqslant \sqrt n的答案预处理出来,复杂度O(n\sqrt n)。对于p>\sqrt n的询问怎么办呢?暴力算,复杂度是O(n\dfrac{n}{p}),因为p>\sqrt n,所以$\dfrac n p <\sqr 阅读全文
posted @ 2018-09-03 12:53 Memory_of_winter 阅读(133) 评论(0) 推荐(0)
摘要:题目大意:有n支画笔,有两个操作 题解:带修莫队,分为n^{\frac{1}{3}}个块,每个块n^{\frac{2}{3}}个元素,复杂度O(n^{\frac{5}{3}}) 卡点:读入时,修改的时间赋值错 C++ Code: 阅读全文
posted @ 2018-09-02 20:11 Memory_of_winter 阅读(151) 评论(0) 推荐(0)
摘要:题目大意:有n个任务,第i个任务存在于[l_i,r_i],优先级为p_im个询问,每个问在x_i时刻时,优先级最小的k个的优先级的和是多少。 题解:离散化优先级,前缀和主席树即可 卡点:1~4.数组开小一倍,root数组未连续 C++ Code: 阅读全文
posted @ 2018-09-02 15:35 Memory_of_winter 阅读(128) 评论(0) 推荐(0)
摘要:题目大意:三合一,给你y,z,p,求x,三种询问 题解:求快速幂,逆元和BSGS(离散对数)BSGS就是用分块的思想,令m=\lceil \sqrt p\rceil,因为y^{i\times m+j}=y^{i\times m}\times y^j所以可以预处理y^i(用 阅读全文
posted @ 2018-09-01 20:39 Memory_of_winter 阅读(161) 评论(0) 推荐(0)
摘要:题目大意:有一段数列,有两个操作 题解:线段树,记录区间最大前缀,最大后缀,区间和以及区间的答案卡点:1.题目说可能a\geqslant bC++ Code: 阅读全文
posted @ 2018-09-01 18:44 Memory_of_winter 阅读(117) 评论(0) 推荐(0)

点击右上角即可分享
微信分享提示