会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
275307894a
有志者事竟成,破釜沉舟,百二秦关终属楚;苦心人天不负,卧薪尝胆,三千越甲可吞吴。
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
18
19
20
21
22
23
24
25
26
···
45
下一页
2021年10月3日
luogu P4719 【模板】"动态 DP"&动态树分治
摘要: 题面传送门 发现一直口胡的ddp是错的 首先不难想到普通的dp:设$dp_{i,0}$表示不选这个点的答案,设$dp_{i,1}$为选这个点的答案。 得到$dp_{i,0}=\sum\limits_{(i,j)\in E}{\max(dp_{j,0},dp_{j,1})}$ \(dp_{i,1}=\
阅读全文
posted @ 2021-10-03 21:12 275307894a
阅读(46)
评论(0)
推荐(0)
2021年9月28日
luogu P5021 [NOIP2018 提高组] 赛道修建
摘要: 题面传送门 最大值最小不难想到二分。 然后考虑在lca处进行路径的合并。 对于一个lca,有一个贪心,就是子节点能合并的一定直接合并,能单链的一定单链。 因为一条链上去是不一定能合并,但是在这里一定能合并。 然后合并从小到大能合并就合并即可。用一个multiset维护就好了。 时间复杂度$O(nlo
阅读全文
posted @ 2021-09-28 18:24 275307894a
阅读(75)
评论(0)
推荐(0)
2021年9月26日
luogu P3176 [HAOI2015]数字串拆分
摘要: 题面传送门 首先这个$f$可以矩乘求出来,因为$f$的递推式是$f_i=\sum\limits_{i=1}{m}{f_{i-m}}$ 然后矩阵又是有结合和分配率律的,所以可以把矩阵扔到状态里dp 具体的,我们设$dp_i$为到第$i$位的矩阵情况,那么就是枚举前面的然后转移 转移的过程要一段区间幂的
阅读全文
posted @ 2021-09-26 19:21 275307894a
阅读(43)
评论(0)
推荐(0)
2021年9月24日
luogu P3757 [CQOI2017]老C的键盘
摘要: 题面传送门 先把这个二叉树给建出来。 然后考虑dp,设$dp_{i,j}$为$i$在这个子树中排第$j$的方案数。 然后对于每个儿子的转移,分别枚父亲的排名,儿子的排名,父亲加入之后的排名,然后组合数乘一下就好了。 时间复杂度不会算,反正最多$O(n^3logn)$ code: #include<b
阅读全文
posted @ 2021-09-24 21:28 275307894a
阅读(65)
评论(0)
推荐(0)
Ybtoj #461. 「数据结构优化 DP」区间覆盖
该文被密码保护。
阅读全文
posted @ 2021-09-24 21:18 275307894a
阅读(0)
评论(0)
推荐(0)
2021年9月21日
luogu P3175 [HAOI2015]按位或
摘要: 题面传送门 介绍一下min-max容斥: \(min(S)=\sum\limits_{T\in S}{(-1)^{|T|+1}max(T)}\) 这个就是考虑除了$T=max(S)$的情况其它都能抵消掉,二项式定理证一下就好了。 这个式子似乎没有什么用处,因为一个$O(n)$的东西被变成$O(2n)
阅读全文
posted @ 2021-09-21 20:26 275307894a
阅读(42)
评论(0)
推荐(0)
2021年9月20日
luogu P4841 [集训队作业2013]城市规划
摘要: 题面传送门 这个题我们可以用[清华集训2012]串珠子的思想做掉。 设$f_i$为$i$个点的无向图数目,$g_i$为$i$个点的不连通图数目。 枚举最后一个点所在连通块大小可以得到$g_n=\sum\limits_{i=1}{n}{C_{i-1}{n-1}(f_i-g_i)f_{n-i}}$ 拆了
阅读全文
posted @ 2021-09-20 21:26 275307894a
阅读(38)
评论(0)
推荐(0)
luogu P4491 [HAOI2018]染色
摘要: 题面传送门 看成nm同阶然后想了好久 首先这个恰好$k$个就很难搞,考虑变成至少$k$个然后二项式反演。 设$f(i)$为恰好$i$个,$g(i)$为至少$i$个。 $g$的话就是钦定$i*S$个位置和$i$个颜色多重排列剩下的随意。 但是如果直接二项式反演是$O(m2)$的。 看一下式子:\(f(
阅读全文
posted @ 2021-09-20 18:48 275307894a
阅读(50)
评论(0)
推荐(0)
2021年9月19日
CSP2021游记
摘要: 初赛 Day 0 晚上写P4221 [WC2018]州区划分发现欧拉回路都不会写了我是个屑。 这说明初赛我肯定爆炸。 Day 1 上午去考提高,然后开幕雷击。 我不会Linux啊!!!然后反手排除了Windows下的cd,就不会了。 觉得ls应该是list的意思所以选了A 然后后面乱做。 出来和hy
阅读全文
posted @ 2021-09-19 17:56 275307894a
阅读(178)
评论(1)
推荐(0)
2021年9月18日
luogu P4221 [WC2018]州区划分
摘要: 题面传送门 判欧拉回路写错调了一个多小时 首先可以$O(2nm)$处理出哪些是可以选的就有了$O(n3n)$的爆枚子集的做法。 不难想到子集卷积,但是子集卷积是卷两个没有关系的数组,但是这个是自己卷自己。 容易发现一个数枚举子集的过程是不可能从二进制和它个数相同的数拿答案的,这就意味着同一层算答案的
阅读全文
posted @ 2021-09-18 22:21 275307894a
阅读(70)
评论(0)
推荐(0)
luogu P2371 [国家集训队]墨墨的等式
摘要: 反正知道怎么做就很水。 首先这个东西一眼不可做。 然后居然是最短路? 考虑找到一个最小的A,然后建立同余最短路。 定义$d_i$为模$A$余数为$i$的最小数,然后后面的直接填A就好了。 然后$L-1$和$R$分别算一次减一下即可,中间那个最短路跑一下就能过。 时间复杂度大概是$O(nA)$的。 c
阅读全文
posted @ 2021-09-18 22:13 275307894a
阅读(39)
评论(0)
推荐(0)
2021年9月13日
luogu P4859 已经没有什么好害怕的了
摘要: 题面传送门 首先是二项式反演公式:$f_n=\sum\limits_{i=n}{m}{C_{n}{i}g_i}$可以得到$g_n=\sum\limits_{i=n}{m}{(-1){i-n}C_{n}{i}f_i}$ 这个直接把$g$代到$f$里面就化一下就出来了。 然后这道题直接求很难求,考虑求出
阅读全文
posted @ 2021-09-13 20:50 275307894a
阅读(26)
评论(0)
推荐(0)
2021年9月12日
luogu P6630 [ZJOI2020] 传统艺能
摘要: 题面传送门 ZJOI:我抄我自己。 首先这个题$k=1$和ZJOI2019基本是一样的。 我们考虑每个点成为五类点的概率。 第一种:走到但是不包含,不会算所以用一减去剩下所有类。 第二种:走到且全包含,就是包含当前区间且不包含父亲区间。 第三种:走不到但是全包含就是父亲的第二种加上父亲的第三种,也就
阅读全文
posted @ 2021-09-12 20:09 275307894a
阅读(63)
评论(0)
推荐(0)
2021年9月10日
luogu P5939 [POI1998]折线
摘要: 题面传送门 首先这个$[45,-45]\(看上去就很不爽,于是顺时针旋转45一下然后变成\)[0,90]$ 然后就发现一个点只能被它左上角的点的折线拉到。 那么就是求覆盖所有点的不升字符列最少个数,经典转化一下就是最长上升子序列长度。 直接树状数组就好了。 code: #include<bits/s
阅读全文
posted @ 2021-09-10 19:52 275307894a
阅读(62)
评论(0)
推荐(0)
2021年8月30日
luogu 4726 【模板】多项式指数函数(多项式 exp)
摘要: 题面传送门 首先是牛顿迭代。 举个例子,你要求$x^2-a=0$并且你不会解一元二次方程。 然后你先找到一个$x_0$算出$x=x_0$的当前值。 然后求当前点$x_0$的切线,大概是$y=f'(x_0)(x-x_0)+f(x_0)$ 带入$y=0$就可以解得$x=x_0+\frac{f(x_0)}
阅读全文
posted @ 2021-08-30 20:16 275307894a
阅读(97)
评论(0)
推荐(0)
2021年8月25日
CF1553I Stairs
摘要: 题面传送门 zj:这种屑题最多评个蓝 首先判一下无解,然后将同样的缩成一个点。 然后设$f_i$为最后有$i$个联通块的答案,所以最后答案容斥一下就好了。 这个东西分治的时候NTT合并答案就好了。 有亿点卡常,时间复杂度$O(nlog^2n)$ code: #include<bits/stdc++.
阅读全文
posted @ 2021-08-25 12:54 275307894a
阅读(69)
评论(0)
推荐(0)
2021年8月24日
luogu P3645 [APIO2015]雅加达的摩天楼
摘要: 题面传送门 n这么小就很诡异。 考虑设阈值$B$ 如果当前的$P_i>B$那么直接暴力建边就好了,这时候的边数是$O(\frac{n}{B})$的。 如果当前的$P_i<B$那么放到一起处理,发现如果$P$是相同的,那么位置$\bmod p$相同的全部位置只要在左右之间建边就好了,其它边是可以迭代进
阅读全文
posted @ 2021-08-24 15:01 275307894a
阅读(65)
评论(0)
推荐(0)
luogu P5222 Game
摘要: 题面传送门 指导居然卡空间差评!!!! 首先肯定可以暴力建图然后跑费用流,每次增加一个流量,这样可以$O(n2m)$ 然后发现如果一行是一个连续没有障碍段那么肯定走到最后再换行一定不会更劣。 所以可以这样缩点,并把每个点拆成出点和入点限流,然后对于每个障碍点连出$m$条边即可。 时间复杂度$O(n2
阅读全文
posted @ 2021-08-24 14:53 275307894a
阅读(55)
评论(0)
推荐(0)
luogu P3193 [HNOI2008]GT考试
摘要: 题面传送门 $n$这么大肯定只能矩乘(暴论 但是不能出现这个串的限制很难搞,考虑设$dp_{i,j}$表示第$i$位然后匹配到答案第$j$位。 然后如果预处理出kmp就可以$O(10nm)$搞了。 把这个递推改成矩乘就可以$O(m^3logn)$轻松跑过。 code: #include<bits/s
阅读全文
posted @ 2021-08-24 14:49 275307894a
阅读(44)
评论(0)
推荐(0)
2021年8月23日
luogu P3646 [APIO2015]巴厘岛的雕塑
摘要: 题面传送门 这个题很屑啊强行套两个题上去。 首先肯定要从高到低枚举位然后看这一位是否可以为$1$ 然后问题转化为判定能否分成$i,i\in[A,B]$段,且或的值是一个给定数的子集,这个东西可以$O(n3)$的dp解决掉。 具体的,设$f_{i,j}$为分了$j$段,到了第$i$个数的方案数,转移的
阅读全文
posted @ 2021-08-23 10:00 275307894a
阅读(37)
评论(0)
推荐(0)
2021年8月18日
luogu P3250 [HNOI2016]网络
摘要: 题面传送门 一眼线段树分治然而想想都会T 考虑什么更优的算法。 我们用线段树维护权值大于$w$的树上路径交,然后线段树上二分,看看树上路径交是否包含这个点即可。 时间复杂度$O(nlogn)$,需要使用$O(1)$LCA code: #include<bits/stdc++.h> #define I
阅读全文
posted @ 2021-08-18 20:03 275307894a
阅读(42)
评论(0)
推荐(0)
2021年8月17日
luogu P4412 [SHOI2004]最小生成树
摘要: 题面传送门 首先这个在树上的边肯定只是变小,不在树上的边肯定只是增大。 我们设在树上的一条边为$e$,边权和变化量为$W_e$和$deta_e$,与这条边构成环的非树边为$e'$ 那么肯定有$W_e-deta_e\leq W_{e'}+deta_{e'}$ 移项以后是$W_e-W_{e'}\leq
阅读全文
posted @ 2021-08-17 18:18 275307894a
阅读(46)
评论(0)
推荐(0)
luogu P5025 [SNOI2017]炸弹
摘要: 题面传送门 考试的时候想了2h写了个假做法意识到错以后20min切掉我是sb 首先这个东西肯定是一个图论问题,然后发现如果边$(x,y)$表示$x$爆了$y$跟着爆那么缩点以后答案就是这个点拓扑下去的点个数。 然后前面这个线段树优化建图就好了。 一个点拓扑下去的个数显然可以bitset但是不是我们想
阅读全文
posted @ 2021-08-17 18:10 275307894a
阅读(41)
评论(0)
推荐(0)
BZOJ #3784. 树上的路径
摘要: 题面传送门 首先显然有一个三只log的做法,就是先二分,然后点分找大于这个值的路径,直接爆炸。 考虑有什么更优的方法,我们将点分治的顺序跑出来,然后发现一个点计算答案的区间一定是一段区间。 然后我们像超级钢琴那样就好了。 区间最大值的话如果是线段树是$O(n+m)logn$,st表是$O(nlog^
阅读全文
posted @ 2021-08-17 18:00 275307894a
阅读(51)
评论(0)
推荐(0)
2021年8月15日
CF521E Cycling City
摘要: 题面传送门 我再不判图联通我是sb! 我们可以先跑出这个图的一个生成森林,然后在生成森林上跑。 如果两个环叠在一起那么肯定是有解的,就是两个环的交集的两个端点。 所以我们让每条非树边往上打标记,碰到标记说明有环重叠。 然后把两个环拿出来处理一下就好了。 时间复杂度$O(n)$ code: #incl
阅读全文
posted @ 2021-08-15 14:53 275307894a
阅读(34)
评论(0)
推荐(0)
上一页
1
···
18
19
20
21
22
23
24
25
26
···
45
下一页
公告
浏览器标题切换
浏览器标题切换end