自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

cz_xuyixuan的博客

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

  • 博客(22)
  • 收藏
  • 关注

原创 【LOJ2983】「WC2019」数树

【题目链接】点击打开链接【思路要点】op=0op=0op=0 ,算一算两棵树的公共边数即可。时间复杂度 O(N)O(N)O(N) 或 O(NLogN)O(NLogN)O(NLogN) 。op=1op=1op=1 ,考虑枚举蓝树上的一个边集 SSS ,强制红树上同样存在这些边,计算将剩余 N−∣S∣N-|S|N−∣S∣ 个联通块连成一棵树的方案数,更新答案。上述算法中,枚举蓝...

2019-03-31 21:13:53 646

原创 【AtCoder】ExaWizards 2019 题解

【比赛链接】点击打开链接【题解链接】点击打开链接**【A】**Regular Triangle【思路要点】判断是否 A=B=CA=B=CA=B=C 。时间复杂度 O(1)O(1)O(1) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e5 + 5;ty...

2019-03-31 11:21:18 703

原创 【校内训练2019-03-26】动态半平面交

【思路要点】考虑将 pkp^kpk 的贡献拆分为 p,p2,p3,...,pkp,p^2,p^3,...,p^kp,p2,p3,...,pk 分别的贡献,每一个数若在范围内出现,对答案产生 ×p\times p×p 的贡献,重复出现统计一次。考虑询问 x,yx,yx,y ,它实际上考虑了 xxx 子树内所有深度不超过 depthx+ydepth_x+ydepthx​+y 的点,因此,若将询...

2019-03-27 14:42:45 692

原创 【AtCoder】AtCoder Grand Contest 032 题解

【比赛链接】点击打开链接【题解链接】点击打开链接【A】 Limited Insertion【思路要点】考虑时间倒流,对于一个位置 iii ,若 ai=ia_i=iai​=i ,则可以将其删去,问是否能将序列删空。不难发现每次删除最大的 iii ,使得 ai=ia_i=iai​=i 是唯一的最优策略,模拟之,若无法操作则无解。时间复杂度 O(N2)O(N^2)O(...

2019-03-26 17:03:00 716

原创 【校内训练2019-03-22】礼物

【思路要点】特判 N=MN=MN=M 的情况,下令 N&gt;MN&gt;MN>M 。首先通过 PolyaPolyaPolya 计数法将问题转化为不能转动的形式,即枚举置换环长 i (i ∣ N,i ∣ M)i\ (i\ |\ N,i\ |\ M)i (i ∣ N,i ∣&nbs...

2019-03-25 13:14:54 185

原创 【LOJ6412】「ICPC World Finals 2018」骑士之旅

【题目链接】点击打开链接【思路要点】可以用基于连通性的动态规划计算 NNN 较小时的结果,例如 N≤80N\leq 80N≤80 时的结果。观察得到的结果,对于给定的 MMM ,存在 A,B,CA,B,CA,B,C 使得对于 N≥AN\geq AN≥A ,有 Ans(M,N)=Ans(M,N−B)+CAns(M,N)=Ans(M,N-B)+CAns(M,N)=Ans(M,N−B...

2019-03-24 13:46:13 437

原创 【LOJ6409】「ICPC World Finals 2018」熊猫保护区

【题目链接】点击打开链接【思路要点】问题即求简单多边形内部距多边形顶点的最小距离最大的点。考虑构建多边形各个顶点的 VoronoiVoronoiVoronoi 图以确定距离一个给定点最近的多边形顶点。可以发现,所求的点一定是 VoronoiVoronoiVoronoi 图的顶点或 VoronoiVoronoiVoronoi 图的边与多边形边的交点。注意到 VoronoiVo...

2019-03-24 13:38:34 400

原创 【LOJ6406】「ICPC World Finals 2018」绿宝石之岛

【题目链接】点击打开链接【思路要点】假设最后第 iii 个人多获得了 aia_iai​ 枚绿宝石,其中 ∑ai=d\sum a_i=d∑ai​=d ,考虑这种情况发生的概率。总共的情况数为 (N−1+d)!(N−1)!\frac{(N-1+d)!}{(N-1)!}(N−1)!(N−1+d)!​ ,其中得到上述局面的情况数为 (∑ai))!∏ai!∗∏ai!=d!\frac{(\...

2019-03-23 11:33:40 845

原创 【LOJ6407】「ICPC World Finals 2018」跳过罪恶

【题目链接】点击打开链接【思路要点】考虑对于每一对点 (x,y)(x,y)(x,y) ,求出 xxx 是否能到达 yyy ,剩余部分可用 BFSBFSBFS 解决。记 d=dist(x,y),h=heighty−heightxd=dist(x,y),h=height_y-height_xd=dist(x,y),h=heighty​−heightx​ ,设水平速度为 xxx ,竖...

2019-03-22 20:14:21 462

原创 【LOJ6410】「ICPC World Finals 2018」单割故障

【题目链接】点击打开链接【思路要点】不难发现连接两个对角附近的一对点即可构造一组合法解,因此答案应不超过 222 ,我们只需判断答案是否可能是 111 。考虑矩形内两条线段相交的条件,将矩形看做一个环,线段看做一个区间,那么两条线段相交的充要条件为这两条线段对应的区间存在公共部分,但不存在包含关系。因此,我们需要找到环上的一个区间,使得其包含所有线段的恰好一个端点。注意到这...

2019-03-22 13:59:30 434

原创 【校内训练2019-03-21】C

【思路要点】不妨令 111 号节点为根节点。考虑找到树上的一个叶子结点,删除之,重复该过程,直到只剩下 111 号节点,得到删除序列 aia_iai​ 。询问一个包含 111 号点的集合 SSS 和一个点 xxx 可以确定 SSS 中是否存在 xxx 的后代,因此我们可以在 Log2N+1Log_2N+1Log2​N+1 次操作内找到一个点 xxx 尚未被删除的后代,或确定点 xxx 是...

2019-03-22 13:52:05 245

原创 【LOJ6411】「ICPC World Finals 2018」三角形

【题目链接】点击打开链接【思路要点】不失一般性地,我们考虑计算倒三角的个数。考虑枚举其靠下的顶点 (x,y)(x,y)(x,y) ,记其向左斜向上的边最长长度为 lx,yl_{x,y}lx,y​ ,向右斜向上的边最长长度为 rx,yr_{x,y}rx,y​ ,那么该顶点处至多产生 Min{lx,y,rx,y}Min\{l_{x,y},r_{x,y}\}Min{lx,y​,rx,...

2019-03-21 18:19:06 350

原创 【LOJ6413】「ICPC World Finals 2018」无线光纤

【题目链接】点击打开链接【思路要点】首先,若 M=N−1M=N-1M=N−1 ,那么直接输出原图即可。否则,必然会有一个点度数不同,考虑贪心,尽可能将度为 111 的点连向度不为 111 ,且度数最小的点,制造更多度为 111 的点。若不存在度为 111 的点,则选取度最大的点当做度为 111 的点,连向度数最小的点。使用 TwoPointersTwoPointersTwo...

2019-03-21 14:44:51 301

原创 【LOJ6408】「ICPC World Finals 2018」随波逐流

【题目链接】点击打开链接【思路要点】枚举行宽, O(N)O(N)O(N) 计算最长河流长度即可。具体来说,可以作为一个空位的前驱的空位至多有 222 个,且是单调的,因此使用 TwoPointersTwoPointersTwoPointers 来进行一个简单 dpdpdp 即可。时间复杂度 O(N2∣S∣)O(N^2|S|)O(N2∣S∣) 。【代码】#includ...

2019-03-20 21:01:59 293

原创 【LOJ6268】分拆数

【题目链接】点击打开链接【思路要点】注意到 1+x+x2+x3+...=11−x1+x+x^2+x^3+...=\frac{1}{1-x}1+x+x2+x3+...=1−x1​ ,答案 AnsAnsAns 即为 ∏i=1∞11−xi\prod_{i=1}^{\infty}\frac{1}{1-x^i}∏i=1∞​1−xi1​ 前 NNN 项的系数,即 Ans(x)=∏i=1∞11...

2019-03-20 11:34:22 1230

原创 【校内训练2019-03-17】胖

【思路要点】离线操作,我们需要求出各城市破产的时间来回答询问。考虑二分答案,我们需要能够回答形如 “ xxx 城市在 yyy 时刻遭受的损失” 的问题。对于一个修改,我们可以将其拆分为在 O(LogV)O(LogV)O(LogV) 个节点处向下传导至多 O(LogV)O(LogV)O(LogV) 层的损失,在询问时我们只需查询其至多 O(LogV)O(LogV)O(LogV) 个祖先对对...

2019-03-19 14:34:48 217

原创 【LOJ2463】「2018 集训队互测 Day 1」完美的旅行

【题目链接】点击打开链接【思路要点】考虑计算总共走了 xxx 步,且所有旅行的愉悦值的按位与的结果包含 yyy 的方案数,再简单容斥得到答案。记一次旅行走了 i (i≥1)i\ (i\geq 1)i (i≥1) 步,且其愉悦值包含 yyy 的方案数为 aia_iai​ 。记 f(x)=∑aixif(x)=\sum a_ix^if(x)=∑ai​xi ,那么...

2019-03-19 14:34:38 679

原创 【LOJ6404】「ICPC World Finals 2018」逗号播撒机

【题目链接】点击打开链接【思路要点】将每一种单词的前,后方抽象为一个点,相邻的位置中间连边,搜索所有联通块即可。时间复杂度 O(NLogN)O(NLogN)O(NLogN) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 1e6 + 5;typedef long lon...

2019-03-19 12:16:52 262

原创 【LOJ6403】「ICPC World Finals 2018」赶飞机

【题目链接】点击打开链接【思路要点】将每一辆公交车的出发站,出发时间、目标站,到达时间视为关键点,按照时间从大到小 dpdpdp 即可。时间复杂度 O(MLogM)O(MLogM)O(MLogM) 。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 2e6 + 5;type...

2019-03-19 11:11:42 337

原创 【CodeForces497D】Gears

【题目链接】点击打开链接【思路要点】枚举一对线段,我们只需要判断旋转过程中,这对线段是否会有公共点。注意到 PPP 到 QQQ 的距离始终不变,并且这一对线段所成夹角始终不变,旋转的过程可以等价为 QQQ 绕 PPP 旋转,且多边形 BBB 的各点与 QQQ 的相对位置始终不变。因此,使得两条线段存在公共点的 QQQ 点的位置的集合即为线段 Ai−AjA_i-A_jAi​−A...

2019-03-12 14:32:48 373

原创 【CodeForces623E】Transforming Sequence

【题目链接】点击打开链接【思路要点】记 dpi,jdp_{i,j}dpi,j​ 表示数列的前 iii 项的并有 jjj 位,枚举数列的第 i+1i+1i+1 位使得数值的并增加了 kkk 位,则将 2j∗(j+kk)∗dpi,j2^j*\binom{j+k}{k}*dp_{i,j}2j∗(kj+k​)∗dpi,j​ 加入 dpi+1,j+kdp_{i+1,j+k}dpi+1,j+...

2019-03-12 14:32:38 267

原创 【校内训练2019-03-07】Crazy Rabbit

【思路要点】一个点对圆的一对切点是一个圆上的区间。一对点的连线与圆相交的充要条件是这一对点对应的区间相互包含或互不相交。因此,问题等价于选出尽可能多的圆上的互不包含、两两相交的区间。枚举一个选中的区间,排序其余区间的左端点,求右端点的最长上升子序列即可。时间复杂度 O(N2LogN)O(N^2LogN)O(N2LogN) 。【代码】#include&amp;lt;bits/stdc...

2019-03-08 12:27:47 205

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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