cz_xuyixuan的博客

当我跨过沉沦的一切,向永恒开战的时候,你是我的军旗。

【CodeForces487E】【UOJ30】Tourists

【题目链接】CodeForcesUOJ【思路要点】首先我们来证明点双连通分量的一个性质。引理:在一个点双连通分量中,给定任意三个不同的点\(a\),\(b\),\(c\),一定存在一条从\(a\)到\(c\)的,经过每个点至多一次的简单路径经过了\(b\)。证明:考虑网络流。在原图中存在无向边的点...

2018-05-20 11:00:27

阅读数:4

评论数:0

【BZOJ4652】【UOJ221】【NOI2016】循环之美

【题目链接】BZOJUOJ【思路要点】通过在十进制下找规律,我们发现分数\(\frac{x}{y}\)在\(k\)进制下为纯循环小数当且仅当\(gcd(y,k)=1\)。稍加分析,我们发现上面这一点并不难证明。那么,原题要求的式子应当是\(\sum_{i=1}^{N}\sum_{j=1}^{M}\...

2018-04-03 14:29:54

阅读数:24

评论数:0

【BZOJ3241】【UOJ125】【NOI2013】书法家

【题目链接】BZOJUOJ【思路要点】把字符画从左到右分成若干个阶段,记录上一列的内容,按列DP即可。多数转移都比较显然,在N中部处的转移需要用到一定的前缀最大值的技巧。时间复杂度\(O(N^2M)\),常数较大。【代码】#include <bits/stdc++.h&...

2018-03-10 11:22:07

阅读数:28

评论数:0

【BZOJ3240】【UOJ124】【NOI2013】矩阵游戏

【题目链接】BZOJUOJ【思路要点】直观地来想,本题可以用矩阵乘法优化递推来实现。但是进制转换并不方便,所以,我们考虑不记录一个方阵的\(2^i\)次方,转而记录一个方阵的\(10^i\)次方,这样就不需要进制转换了。时间复杂度\(O(|N|+|M|)\),由于常数很大,实现时可能需要一定的常数...

2018-03-08 12:55:53

阅读数:46

评论数:1

【BZOJ3244】【UOJ122】【NOI2013】树的计数

【题目链接】BZOJUOJ【思路要点】显然,顶点的编号是无关紧要的,不妨令BFS序为\(1,2...N\)。我们在BFS序上分层,即每次我们考虑下一层会包含哪些连续的点。令此时的DFS序为\(dfs_i\),\(i\)在DFS序中的位置为\(pos_i\),当前层包含\([L,R]\)且下一层包含...

2018-03-04 16:21:00

阅读数:39

评论数:0

【BZOJ3243】【UOJ121】【NOI2013】向量内积

【题目链接】BZOJUOJ【思路要点】首先我们来考虑\(k=2\)的情况。将所有向量拼成一个\(N\)行\(D\)列的矩阵\(A\),那么问题等价于找到\(A*A^{T}\)中的一个不在主对角线上的0,或者判断不存在这样的0。显然,直接计算\(A*A^{T}\)会超时。注意到如果找不到这样的零,\...

2018-03-02 12:53:14

阅读数:35

评论数:0

【BZOJ3672】【UOJ7】【NOI2014】购票

【题目链接】BZOJUOJ【思路要点】令\(f_i\)表示从\(i\)出发到根节点的最小花费,\(s_i\)表示根节点到节点\(i\)的路径长度之和。那么,显然有方程:$$f_i=min_{s_i-l_i≤s_j}\{f_j+(s_i-s_j)p_i+q_i\}$$$$f_i=min_{s_i-l...

2018-03-01 15:24:13

阅读数:39

评论数:0

【BZOJ3671】【UOJ6】【NOI2014】随机数生成器

【题目链接】BZOJUOJ【思路要点】首先,按照题目给定的方式生成矩阵(注意避免不必要的取模,否则会因此超时)。从小到大考虑每一个数,如果能够将某个数加入路径,那么我们一定要将其加入,并且,其左下、右上两个矩形的数字就会因此不能在以后被加入路径。考虑不能被加入路径的数,它们构成了两个轮廓线单调的联...

2018-03-01 08:29:09

阅读数:30

评论数:0

【BZOJ3670】【UOJ5】【NOI2014】动物园

【题目链接】BZOJUOJ【思路要点】做两次KMP,第一次求出Next数组,第二次保证匹配位数不超过当前串的一半(否则视为失配),求出Num数组。时间复杂度\(O(NL)\)。【代码】#include<bits/stdc++.h> using names...

2018-02-28 20:04:08

阅读数:25

评论数:0

【BZOJ3669】【UOJ3】【NOI2014】魔法森林

【题目链接】BZOJUOJ【思路要点】对边的权值\(A\)排序,依次加入图中,用LinkCutTree维护权值\(B\)的最小生成树。时间复杂度\(O(MLogN)\)。【代码】#include<bits/stdc++.h> using namespac...

2018-02-28 18:26:04

阅读数:29

评论数:0

【BZOJ3668】【UOJ2】【NOI2014】起床困难综合症

【题目链接】BZOJUOJ【思路要点】从高位向低位贪心即可,遵从“使答案最大的情况下花费最小”的原则。时间复杂度\(O(NLogM)\)。【代码】#include<bits/stdc++.h> using namespace std; const int...

2018-02-28 18:15:29

阅读数:38

评论数:0

【BZOJ3816】【UOJ41】【清华集训2014】矩阵变换

【题目链接】BZOJUOJ【思路要点】首先我们需要了解一下“稳定婚姻问题”。给出\(N\)个男孩,\(N\)个女孩。每个男孩对所有女孩有一个序关系,表示他对女孩的喜好程度。每个女孩也对所有男孩有一个序关系,表示她对男孩的喜好程度。定义一个稳定匹配为满足下列性质的完备匹配:不存在一个男孩和一个女孩,...

2018-02-28 14:27:41

阅读数:33

评论数:0

【BZOJ3815】【UOJ40】【清华集训2014】卡常数

【题目链接】BZOJUOJ【思路要点】加密方式对实数是单调的,可以通过二分来解密。然后,大概就是一道KD-Tree基础题了。由于数据随机,并不需要加入替罪羊树式的重构,直接暴力插入即可。时间复杂度\(O(M\sqrt{N})\)。【代码】#include<bits/stdc+...

2018-02-28 12:50:18

阅读数:77

评论数:0

【BZOJ3814】【UOJ39】【清华集训2014】简单回路

【题目链接】BZOJUOJ【思路要点】直接进行\(Q\)次基于连通性的动态规划可以获得60分。注意到一定需要经过的边只有竖直的,而没有水平的。我们可以在完成一行的动态规划时顺便记录在第1行到第\(i\)行的区域中,第\(i\)行的插头为\(Mask\)的方案数以及第\(i\)行到第\(N\)行的区...

2018-02-28 08:45:53

阅读数:32

评论数:0

【BZOJ3812】【UOJ37】【清华集训2014】主旋律

【题目链接】BZOJUOJ【思路要点】我们希望求出使得图强联通的边集数,这等价于求出所有边集数减去使得图不强连通的边集数。首先考虑一种非常暴力的做法,我们枚举最终的图缩点后的情况。那么,剩下的图必须是一个DAG,我们希望求出这张图在是DAG的情况下可行的边集数,并与每一个强连通分量加边方案数相乘,...

2018-02-27 13:37:25

阅读数:40

评论数:0

【BZOJ3813】【UOJ38】【清华集训2014】奇数国

【题目链接】BZOJUOJ【思路要点】首先,有一个直观的做法是对每一个质因子维护一棵树状数组,记录区间中该质因子指数的和。询问时先将\(product\)质因数分解的结果求出来,再用快速幂计算欧拉函数。时间复杂度是\(O(60NLogN)\),可以在UOJ上通过,但在BZOJ上会超时。进一步考虑,...

2018-02-27 09:55:19

阅读数:31

评论数:0

【BZOJ3811】【UOJ36】【清华集训2014】玛里苟斯

【题目链接】BZOJUOJ【思路要点】首先,数集\(\{A,B\}\)等价于数集\(\{A,A\ Xor\ B\}\),且数集\(\{A,0\}\)等价于\(\{A\}\)。因此,我们可以先构建原数集的线性基,并删去多余的0。令\(M\)为线性基的元素个数,则\(M\)是\(O(LogMax\{a...

2018-02-26 16:17:04

阅读数:40

评论数:0

【UOJ311】【UNR #2】积劳成疾

【题目链接】点击打开链接【思路要点】笛卡尔树DP,记\(F_{i,j}\)表示长度为\(i\)的区间中所有数的最大值小于等于\(j\),所有方案的贡献之和。考虑枚举区间最大值第一次出现的位置,则有:\(F_{i,j}=F_{i,j-1}+\sum_{pos=1}^{i}w_j^{min(pos,i...

2018-02-25 16:16:14

阅读数:54

评论数:0

【UOJ170】Picks loves segment tree VIII

【题目链接】 点击打开链接 【前置阅读】 【BZOJ4695】最假女选手 【BZOJ3064】【TYVJ1518】CPU监控【UOJ169】【UR #11】元旦老人与数列 【思路要点】 前置阅读中的前两题中,我们分...

2018-01-25 16:33:30

阅读数:93

评论数:0

【UOJ169】【UR #11】元旦老人与数列

【题目链接】 点击打开链接 【前置阅读】 【BZOJ4355】Play with Sequence 【BZOJ3064】【TYVJ1518】CPU监控 【思路要点】 前置阅读中的两题中,我们分别对线段树的区间取最大/最小值...

2018-01-25 16:22:49

阅读数:82

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭