自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 【XSY3905】字符串题(lyndon串,构造)

题面 字符串题 题解 设所有长度不超过 nnn 的串的集合为 SSS。 考虑找到一种方法,能够对一个 lyndon 串 AAA ,直接求出 AAA 的下一个 lyndon 串。方法如下: 先将 AAA 不断复制, 取出前 nnn 位作为新的 AAA ,即 A←AAA⋯A\leftarrow AAA⋯A←AAA⋯ 的前 nnn 位。 如果 AAA 的最后一位是 ′a′+m−1'a'+m-1′a′+m−1,即字符集中最大的字符,则将其删去,一直删除直到最后一位不为 ′a′+m−1'a'+m-1′a′+m−1。

2021-02-25 21:39:18 41

原创 【XSY3904】直线(分块)

题面 直线 题解 注意到题目没有给什么特殊的性质,除了直线随机生成。 所以考虑随机化算法或均摊算法。 有一种很神奇的分块做法: 考虑将整个平面分成 B×BB\times BB×B 块,每块大小 109B×109B\dfrac{10^9}{B}\times\dfrac{10^9}{B}B109​×B109​,而且每一个块记录一下有哪些直线经过它,询问的时候直接枚举经过询问点所在块内的所有直线并判断统计。 分析一下时间复杂度: 首先是预处理,对于每一条直线,它经过的块数大约为 BBB,所以这部分的时间复杂度是

2021-02-25 21:23:08 45

原创 【XSY3890】【hdu5263】平衡大师(二分,上下界网络流)

不妨令 k=m−kk=m-kk=m−k,那么题目的意思就是至多删去 kkk 条边。 首先二分答案 ttt,然后求最少需要删去多少的边,如果最少需要删去的边 ≤k\leq k≤k 则合法。 在原图中统计每一个点的入度-出度,记为 dud_udu​。 首先对于每一条边 (u,v)(u,v)(u,v),从 uuu 向 vvv 连边 ([0,1],1)\big([0,1],1\big)([0,1],1)(小括号内前一位表示容量上下界,后一位表示费用),表示删去这条边需要耗费 111。 对于每一个点 uuu,分三种情

2021-02-08 10:26:40 41

原创 【JSOI2016】反质数序列(二分图,最小割)

这都能扯到二分图上,看来是我做题太少了。 不是质数的情况有很多种,不妨考虑一下包含质数的情况。 考虑到质数只有可能是奇数+偶数构成的(222 除外,不过 222 只能由 1+11+11+1 凑成,所以我们考虑时只考虑一个 111,其余的 111 全部不选),所以不妨将所有的数按奇偶分类,构成一个二分图。 然后如果两个数加起来是一个质数,我们就将它们连边。 现在的要求是删除一些点以及与它们相连的边,使得图上不剩下边,这个用最小割解决就行了。 听说这个叫二分图最大独立集( #include<bits/st

2021-02-07 22:02:30 20

原创 【AGC031E】Snuke the Phantom Thief(费用流)

先假设只有一维的情况。 考虑枚举偷的珠宝的个数 kkk,且假设它们按照坐标大小排好了序。 那么可以将条件转化一下,大于等于 aia_iai​ 的最多取 bib_ibi​ 个可以转化为取的前 k−bik-b_ik−bi​ 个珠宝的坐标要小于 aia_iai​。 同理,小于等于 aia_iai​ 的最多可以取 bib_ibi​ 个可以转化为取的后 k−bik-b_ik−bi​ 个珠宝的坐标要大于 aia_iai​。 那么这样的话,就可以计算出取的每个珠宝坐标的取值范围 [l,r][l,r][l,r]。 二维同理

2021-02-07 19:07:34 53

原创 【XSY3888】传送门(最短路树,可并堆,dp)

题面 题解 假设 SSS 到 TTT 路径上一条边 (u,v)(u,v)(u,v) 被删掉之后最短路会如何变化。 建出以 TTT 为根的最短路树,如果 (u,v)(u,v)(u,v) 不在树上,那么我们直接从 uuu 沿着最短路树走到 TTT 即可。 否则,如果 (u,v)(u,v)(u,v) 在最短路树上,那么 vvv 一定是 uuu 的父亲。那么我们需要从 uuu 走到 uuu 子树内的任意一个点 xxx,然后再从 xxx 经过一条非树边跳到一个在 uuu 子树外的点 yyy,然后再沿最短路树走到 T

2021-02-07 12:24:17 67

原创 【XSY3892】【hihocoder1147】时空阵(分层图dp)

设 dp(i,t,l)dp(i,t,l)dp(i,t,l) 表示已经定好前 iii 层,共有 ttt 个节点,其中第 iii 层有 lll 个节点。 直接转移即可,注意一些细节: 第 111 层只有 111 号节点。 同层之间可以乱连,相邻层之间可以乱连,跨层之间不能连。 需要钦定 nnn 号点在第 m+1m+1m+1 层。 #include<bits/stdc++.h> #define N 110 #define ll long long #define mod 100000

2021-02-07 11:08:33 65

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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