摘要: 题目 一个有n个景点(入口)、m条单向道路的旅游胜地,单向是不友好的,因为这会让游客走很多冤枉路,而且从同一个入口出发,往不同方向走,能游玩的景点数目可能不同。于是,善良的Bob决定将道路全部改造成双向的,让每一个入口能逛的景点数量都确定下来,并制作景点数目表,让游客清楚地知道各个入口的景点数。但是 阅读全文
posted @ 2021-12-09 22:03 zhangtingxi 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 农夫约翰建造了一座有 间牛舍的小屋,牛舍排在一条直线上,第 间牛舍在 的位置,但是约翰的 头牛对小屋很不满意,因此经常互相攻击。约翰为了防止牛之间互相伤害,因此决定把每头牛都放在离其它牛尽可能远的牛舍。也就是要最大化最近的两头牛之间的距离。 牛们并不喜欢这种布局,而且几头牛放在一个隔 阅读全文
posted @ 2021-12-09 21:32 zhangtingxi 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 完成情况:(7/9) cf1110e 题目链接 我要是在noip前做这道题就好了。 这道题的本质就是noip2021方差中的一个性质,对于每个数进行修改,就是把它左右的差进行交换。 注意的是首项一定要一样。 Code // Problem: CF1110E Magic Stones // Conte 阅读全文
posted @ 2021-12-09 19:56 zhangtingxi 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 You are given a sequence of numbers a1, a2, ..., an, and a number m. Check if it is possible to choose a non-empty subsequence aij such that t 阅读全文
posted @ 2021-12-08 22:36 zhangtingxi 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 Define the distance between two strings of the same length as the numbers of the positions where the characters differ in these two strings. I 阅读全文
posted @ 2021-12-08 19:01 zhangtingxi 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 Your company has just constructed a new skyscraper, but you just noticed a terrible problem: there is only space to put one game room on each 阅读全文
posted @ 2021-12-08 18:13 zhangtingxi 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 There is a n×m board, a chess want to go to the position (n,m) from the position (1,1). The chess is able to go to position (x2,y2) from the p 阅读全文
posted @ 2021-12-07 22:33 zhangtingxi 阅读(24) 评论(0) 推荐(0) 编辑
摘要: Lacus 求: \(\Large C_m^n~mod ~p\) 则: \(\Large C_m^n~mod~p=C_{\frac{m}{p}}^{\frac{n}{p}} \times C_{m~mod~p}^{n~mod~p}~mod~p\) 由于 \(C_{m~mod~p}^{n~mod~p} 阅读全文
posted @ 2021-12-07 17:47 zhangtingxi 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 Bubu’s bookshelf is in a mess! Help him! There are nbooks on his bookshelf. We define the mess value to be the number of segments of consecuti 阅读全文
posted @ 2021-12-06 21:49 zhangtingxi 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 将一个8*8的棋盘进行如下分割:将原棋盘割下一块矩形棋盘并使剩下部分也是矩形,再将剩下的部分继续如此分割,这样割了(n-1)次后,连同最后剩下的矩形棋盘共有n块矩形棋盘。(每次切割都只能沿着棋盘格子的边进行) 原棋盘上每一格有一个分值,一块矩形棋盘的总分为其所含各格分值之和。现在需要 阅读全文
posted @ 2021-12-05 20:34 zhangtingxi 阅读(56) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 折叠的定义如下: 一个字符串可以看成它自身的折叠。记作S = S X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S) = SSSS…S(X个S)。 如果A = A’, B = B’,则AB = A’B’ 例如,因为3(A) = AAA, 2(B) = BB,所以3(A)C2 阅读全文
posted @ 2021-12-05 17:49 zhangtingxi 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 本文章对一本通上题目来讲 题解基本上是口胡的,所以很简短。 「一本通 1.1 例 1」活动安排 按右端点排序后优先选右端点靠前的即可。 「一本通 1.1 例 2」种树 按右端点排序,对于每个区间差多少棵就在它尾部重多少棵,双指针维护一下。 「一本通 1.1 例 3」碰水装置 排除不行的后计算出左右端 阅读全文
posted @ 2021-12-05 15:39 zhangtingxi 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 有 \(n\) 个小朋友坐成一圈,每人有 \(a_i\) 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 \(1\)。 思路 设 \(x_i\) 表示第 \(i\) 个人传给前一个人的糖果数,负数则是反向传。 可以列出方程,然后依次把 \(x_i\) 用 \(x_1\ 阅读全文
posted @ 2021-12-05 15:17 zhangtingxi 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 话说发源于小朋友精心设计的游戏被电脑组的童鞋们藐杀之后非常不爽,为了表示安慰和鼓励,VIP999 决定请他吃一次“年年大丰收”,为了表示诚意,他还决定亲自去钓鱼。 但是,因为还要准备 NOIP2013, z老师只给了他 \(H\) 个小时的空余时间,假设有 \(n\) 个鱼塘都在一条 阅读全文
posted @ 2021-12-05 13:59 zhangtingxi 阅读(80) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 老师在开学第一天就把所有作业都布置了,每个作业如果在规定的时间内交上来的话才有学分。每个作业的截止日期和学分可能是不同的。例如如果一个作业学分为 101010,要求在 666 天内交,那么要想拿到这 101010 学分,就必须在第 666 天结束前交。 每个作业的完成时间都是只有一天 阅读全文
posted @ 2021-12-04 22:43 zhangtingxi 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 数轴上有 nnn 条线段,选取其中 kkk 条线段使得这 kkk 条线段两两没有重合部分,问 kkk 最大为多少。 思路 按右端点排序,贪心选可行的最左右端点。 由于右端点最小可以保证为后面留出更多空间。 Code // Problem: #10007. 「一本通 1.1 练习 3」 阅读全文
posted @ 2021-12-04 22:31 zhangtingxi 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 小伟报名参加中央电视台的智力大冲浪节目。本次挑战赛吸引了众多参赛者,主持人为了表彰大家的勇气,先奖励每个参赛者m元。先不要太高兴!因为这些钱还不一定都是你的?!接下来主持人宣布了比赛规则: 首先,比赛时间分为n个时段(n≤500),它又给出了很多小游戏,每个小游戏都必须在规定期限ti 阅读全文
posted @ 2021-12-04 22:23 zhangtingxi 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目 长 LLL 米,宽 WWW 米的草坪里装有 nnn 个浇灌喷头。每个喷头都装在草坪中心线上(离两边各 W2frac{W}{2}​2​​W​​ 米)。我们知道每个喷头的位置(离草坪中心线左端的距离),以及它能覆盖到的浇灌范围。 请问:如果要同时浇灌整块草坪,最少需要打开多少个喷头? 思 阅读全文
posted @ 2021-12-04 21:51 zhangtingxi 阅读(71) 评论(0) 推荐(0) 编辑
摘要: cf1110e 给定一个序列 A{},每次可以选择 1 < i < N 的一个元素,更新 \(A_i = A_{i-1} + A_{i+1} - A_i\)。 问是否可以是序列 A{} 变化得到序列 B{}。 判断差分、首项是否相等即可。 poj1191 题面 对于式子中一些没影响的东西去掉,原式就 阅读全文
posted @ 2021-12-04 11:46 zhangtingxi 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 题目链接 我要是在noip前做这道题就好了。 这道题的本质就是noip2021方差中的一个性质,对于每个数进行修改,就是把它左右的差进行交换。 注意的是首项一定要一样。 Code // Problem: CF1110E Magic Stones // Contest: Luogu // URL: h 阅读全文
posted @ 2021-12-03 21:06 zhangtingxi 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题目链接 暴力是肯定可以的。所以这里讲 \(O(1)\)。 首先不考虑重复,则有 \((|s|+1)\times 26\) 种可行方案。 然后重复的就是在一个字母的左右放和这个字母相同的字母,有 \(|s|\) 种可能。 所以总共有 \((|s|+1)\times 26-|s|\) 种可能。 Cod 阅读全文
posted @ 2021-12-02 16:45 zhangtingxi 阅读(48) 评论(0) 推荐(0) 编辑
摘要: 题目链接 由于 \(n\leqslant 15\),所以我们可以直接枚举每条题目选或不选,最后判断是否合法即可。 时间复杂度:\(O(2^n)\)。 Code // Problem: CF550B Preparing Olympiad // Contest: Luogu // URL: https: 阅读全文
posted @ 2021-12-02 16:27 zhangtingxi 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 题目链接 对于最小的点,与它相连的没填的点中,都赋值为这个点点权+1。 这样子贪心就算旁边的点必然会比这个点大,所以+1是没错的。 最后再遍历所有边检验答案合法性。 Code // Problem: AT2148 [ARC063C] 木と整数 / Integers on a Tree // Cont 阅读全文
posted @ 2021-12-02 16:11 zhangtingxi 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 题目链接 从1开始从小到大考虑,用set维护每个数左右的扩散范围,然后答案为这个数的区间就是左端点个数 \(\times\) 右端点个数。 Code // Problem: AT2060 [AGC005B] Minimum Sum // Contest: Luogu // URL: https:// 阅读全文
posted @ 2021-12-02 14:49 zhangtingxi 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 桥 定义 无向连通图中如果一条边断开后能使图不连通则条边就是桥。 方法 dfs+并查集 每条边只能走一次。如果搜到一个点还在访问中说明他们是双连通分量,用并查集合并。 Code void dfs(int x) { for(int g=h[x]; g; g=d[g].n) { if(c[g]) con 阅读全文
posted @ 2021-12-01 22:22 zhangtingxi 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 题目链接 我们先对于有向图缩点,变成一棵树。 然后我们对于每个树上且在原图中的分割点节点所对应原图中的连通块考虑。 假设这里没有割点,很明显,只需要放2个出口即可。 如果有一个割点,说明这个点是树上的叶子节点,需要放1个出口。 如果有两个或以上的割点,无论哪个割点被割,都可以往另一个方向逃,所以这个 阅读全文
posted @ 2021-12-01 18:39 zhangtingxi 阅读(96) 评论(0) 推荐(0) 编辑
摘要: 题目链接 首先这个点删去之后必然与剩下 \(n-1\) 个点失去相连。 如果这个点能使其它点失去相连,说明这个点为割点。 然后统计一下每个儿子与父亲的影响即可。 Code // Problem: #10104. 「一本通 3.6 练习 5」Blockade // Contest: LibreOJ / 阅读全文
posted @ 2021-12-01 17:23 zhangtingxi 阅读(62) 评论(0) 推荐(0) 编辑
摘要: 题目链接 首先考虑删走一个点后能增加联通块数量,则这个点一定是割点。 然后就完了啊 tarjan完(虽然我没有打tarjan)我们就分别判断每个点是不是割点。如果是看一下是否有父。统计一下即可。 要注意题目一定要割,所以如果有 \(n\) 个联通块要输出 \(n-1\)。 Code // Probl 阅读全文
posted @ 2021-11-30 18:56 zhangtingxi 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目中对主要航道定义是这样的: 如果某一条航道的删除使得一些星球不能到达,那么这条航道是不能删除的,称之为「主要航道」。 这说明了什么? 说明了主要航道就是桥。 然后题目就是求桥的个数。 模板题。 Code // Problem: #10102. 「一本通 3.6 练习 3」旅游航道 // 阅读全文
posted @ 2021-11-29 22:18 zhangtingxi 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 题目链接 首先如果一个点满足答案,则这个点一定是割点。 然后我们可以从 \(a\) 点开始搜,对于每一个点,如果 \(b\) 点在它的儿子内,说明这个点分离了 \(a\) 和 \(b\)。 如何判断 \(b\) 是否在它的儿子内,只需要在搜索这个儿子前后判断一下即可。 Code // Problem 阅读全文
posted @ 2021-11-29 21:32 zhangtingxi 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题目就是给出一幅图,求其割点个数。 由于 \(n\leqslant 100\),所以可以暴力删点。 当然也可以跑割点。 (感谢crx老师教我割点模板) 暴力Code // Problem: #10100. 「一本通 3.6 练习 1」网络 // Contest: LibreOJ // UR 阅读全文
posted @ 2021-11-29 18:27 zhangtingxi 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目链接 首先,环内的节点必然可以至少存在两条路径到达,所以我们不用考虑环内的节点,可以先对无向图缩点。 剩下的节点必然构成一棵树,我们只需要将叶子节点两两配对。因为这样其上面的所有父亲节点都可以通过它下面的叶子节点形成环。 Code // Problem: #10098. 「一本通 3.6 例 1 阅读全文
posted @ 2021-11-28 16:41 zhangtingxi 阅读(100) 评论(0) 推荐(0) 编辑
摘要: 题目链接 看题,发现是一个缩点。 缩完点后,对于每一个强连通分量,取其汽油费的最小值,最小值的和就是答案。 方案就是每个强连通分量最小值个数相乘。 Code // Problem: P2194 HXY烧情侣 // Contest: Luogu // URL: https://www.luogu.co 阅读全文
posted @ 2021-11-27 19:01 zhangtingxi 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题目链接 典型的树形dp。 设 \(dp(x, i)\) 表示 \(x\) 的子树内逗留 \(i\) 秒的作品最大值。 \(dp(x, i)=\max_{y\in x}\max_{i=0}^s\max_{j=2\times z}^i dp(y,j-2\times z)-dp(x,j-i)\) 实际实 阅读全文
posted @ 2021-11-24 22:29 zhangtingxi 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 我太弱了,改不出T4,就把T1-3题解码了。 T1 报数 题目链接 想着T2,T3的题解都写了,就补一下T1的吧。 典型的筛法。 假如一个数含有7,则把它的倍数全筛走。 这里可以加一个小优化,假如这个数已经被筛过,就不需要再筛它的倍数了。 最后再倒着预处理每个数的下一个没被筛的是什么。 如果不预处理 阅读全文
posted @ 2021-11-24 21:12 zhangtingxi 阅读(738) 评论(0) 推荐(0) 编辑
摘要: 题目链接 想着T2,T3的题解都写了,就补一下T1的吧。 典型的筛法。 假如一个数含有7,则把它的倍数全筛走。 这里可以加一个小优化,假如这个数已经被筛过,就不需要再筛它的倍数了。 最后再倒着预处理每个数的下一个没被筛的是什么。 如果不预处理,不断6999999就可以卡死你。 Code #inclu 阅读全文
posted @ 2021-11-24 21:10 zhangtingxi 阅读(356) 评论(0) 推荐(0) 编辑
摘要: 题目链接 Part A 式子化简 首先题目要求的式子就是 \(n^2\) 乘上 \(\frac{1}{n}\sum_{i=1}^n(a_i-\bar a)^2\),其中 \(\bar a=\frac{1}{n}\sum_{i=1}^n a_i\)。 我们把这三合在一起也就是: \(n^2\times 阅读全文
posted @ 2021-11-24 17:48 zhangtingxi 阅读(679) 评论(1) 推荐(0) 编辑
摘要: 题目链接 首先dp得从低位向高位枚举,因为高位无论如果使用 \(2^{a_i}\) 都对低位二进制1的个数无影响,满足dp的无后效性。 设 \(dp(k, i, x, y)\) 为 \(S\) 从低的高二进制的前 \(k\) 位中,用了数列 \(a\) 的前 \(i\) 项,且此时 \(S\) 中共 阅读全文
posted @ 2021-11-22 21:21 zhangtingxi 阅读(322) 评论(0) 推荐(0) 编辑
摘要: 题目链接 首先第一问很好求,就是求最长下降子序列,\(n\leqslant 5000\),\(O(n^2)\) 暴力转移就行。 而这道题的难点就在于去重。 对于 \(i\) 和 \(j\)(\(i>j\)),如果 \(a_i=a_j\) 且 \(dp_i=dp_j\),说明他们是相同的,\(i\) 阅读全文
posted @ 2021-11-21 19:06 zhangtingxi 阅读(35) 评论(0) 推荐(0) 编辑
摘要: 题目链接 首先考虑两个物品A,B。 假设先做A,则时间为:\(A_x+\max(A_y, B_x)+B_y\)。 假设先做B,则时间为:\(B_x+\max(B_y, A_x)+A_y\)。 对于A、B,我们可以在上面两种情况中取时间较少的方案。 同理,对于每一对物品,我们都可以采用以上方案。 一个 阅读全文
posted @ 2021-11-21 15:19 zhangtingxi 阅读(67) 评论(0) 推荐(0) 编辑