08 2024 档案
摘要:这种题怎么评的绿。 Problem 给定一个长度为 nnn 的序列 aaa,对于每一个 aia_iai 可以选或不选,要求输出所有被选的 aia_iai 的和为 ttt 的方案。输出要求:所有答案呈字典序降序且不重复,在一组答案 ansansans 要降序。如:10+5+3 是符合要求的,但是
阅读全文
摘要:你说得对,但是红绿绿紫。 Idea 怎么样才能在一个以 (a,b)(a,b)(a,b) 为左上,(c,d)(c,d)(c,d) 为左下的顶点组成的矩形中存在点 (e,f)(e,f)(e,f) 呢?显然要满足 a≤e≤ca\le e\le ca≤e≤c 且 d≤f≤bd\le f\le bd≤f≤b。
阅读全文
摘要:感觉有点板? Solution of P10995 考虑一个序列:a={4,1,5,6,2,3}a=\{4,1,5,6,2,3\}a={4,1,5,6,2,3}。 先考虑字典序最小的子串,按照题目要求是 {1}\{1\}{1}。 然后排开是 {1,5},{1,5,6},{1,5,6,2},{1,5,
阅读全文
摘要:又是一道欧拉路。 思路 在一个树上,两点 (u,v)(u,v)(u,v) 之间的距离是 depu+depv−2×deplca(u,v)dep_u+dep_v-2\times dep_{\operatorname{lca}(u,v)}depu+depv−2×deplca(u,v)(其中 dep
阅读全文
摘要:一个小清新贪心题。 思路 发现删数的操作等同于把 aha_hah 去掉,其他不变。 因为第 iii 轮一定删掉了 iii 个数,所以实际上我们下一次访问的下标是 ah+ia_h+iah+i。 接下来我们对 aaa 排序(升序)。 一共有 nnn 个数,所以如果这一轮 iii 游戏不结束,我们最多
阅读全文
摘要:Tarjan 入门 Tarjan 入门题单参考代码 B3609: #include<bits/stdc++.h> using namespace std; struct node{ int u,v,nxt; }e[300005]; int n,m; int dfn[100005]; int cnt,
阅读全文
摘要:套路的欧拉回路题。 思路 我们假如把一个字符串看成一个点,两个字符串可以拼接就意味着在它们之间添加有向边,则我们只需在建成的图上找欧拉路就可以了。 例如下面的样例: 5 rrharil luminescence enginestart technopolis small 假如我们用 111 到 55
阅读全文
摘要:你说得对,但是我不喜欢 AGC。 思路 先考虑什么样的字符串是不能出现的。 不难发现,违反限制 222 的有: AGC。 违反限制 333 的有: ACG(交换 C 和 G); GAC(交换 G 和 A); AG?C(交换 ? 和 C,其中 ? 是 A、C、G、T 中任一个); A?GC(交换 A
阅读全文
摘要:第一次打 ARC,涨了 242424 分。 思路 我们称 iii 对 jjj 有限制,当且仅当 i<ji<ji<j 且 vi>vjv_i>v_jvi>vj。 我们枚举 iii,从 iii 往后找 jjj,找到第一个被 iii 限制的 jjj。 接下来我们分类讨论: 如果 pi=pjp_i=p_j
阅读全文
摘要:前言 在洛谷,有许多新用户喜欢写题解,但是他们写的题解无一例外都不通过审核。这篇文章将教你怎么写一篇可以通过审核的题解。 首先声明一下(截至 2024.8.12): 题解难度有橙黄绿蓝紫。 写一篇题解的步骤 首先就是要找到这道题,然后 AC 这道题,然后就可以写了。 如何找题 首先不要去找红题,因为
阅读全文
摘要:大家好,我是珍-霍克肖(Jen Hawkshaw),今天我要给大家讲讲我的编码故事。让我们从第一个问题开始! 让我们从第一个问题开始!首先,让我们看一下问题的标题 "超级马里奥游戏"。你可能会惊讶地发现,第一道题要求我们编写一个游戏。 当我点击这个问题时,我还以为这是个笑话。现在让我们来分析一下。
阅读全文
摘要:大家好,我是大家最喜欢的陈昊书。我知道你们和我一样期待着下一堂课。那么,让我们开始吧。 这是万里计划的第一步,是历史性的一步,也是改善人民、社区和国家生活的重要一步。。。。。。。。,废话少说,让我们回到主题,回到标题:问题A+B,如此深刻,如此复杂。这是给小学生出的题吧?我们来看看解释: 记住,Pa
阅读全文
摘要:签到题,但是不如 E。 题意简述 给定 xxx 和 yyy。求一组 (a,b)(a,b)(a,b) 使 lcm(x,y)gcd(x,y)=ab\sqrt{\dfrac{\operatorname{lcm}(x,y)}{\gcd(x,y)}}=a\sqrt{b}gcd(x,y)lcm(x,y)
阅读全文
摘要:双倍经验:P3067。 题意简述 给定长度为 nnn 的一个序列 aaa,对于每一个数 aia_iai,可以把它加入 AAA 和 BBB 两个集合之一或者不加入任何一个集合,要求所有数处理完后,AAA 与 BBB 两个集合中数的和相等,求方案数。 n≤20n\le20n≤20 且 ai≤108a_
阅读全文
摘要:水题。 思路 n≤100n\le 100n≤100,考虑直接模拟。 我们首先预处理出人和座位之间的距离,数组记为 eee。 然后把 eee 按距离排序。 对于一条边,连接人 xxx 和座椅 yyy,我们这么处理: 人 xxx 已经坐上座位。显然一定有一个座位,使得在这个人的位置出发,距离更短。所以这
阅读全文
摘要:显然对于 n≤103n\le10^3n≤103 且 ai≤109a_i\le10^9ai≤109 的情况,直接乘起来会达到 109×10310^{9\times 10^3}109×103 的量级,即使使用 python,存储也是一个很难的问题。 不妨考虑 gcd\gcdgcd 函数的本质。 我们
阅读全文
摘要:Idea 使用 KMP 算法。 约定:reverse(s)\operatorname{reverse}(s)reverse(s) 表示把 sss 翻转过来得到的串。 首先考虑如果要求 ppp 是 sss 的前缀,那么答案就会是 max(nxti)\max(nxt_i)max(nxti)。 证明
阅读全文
摘要:前置知识 E1:dp。 E2:矩阵快速幂。 思路 暴力 dp 不难想到一个思路就是暴力 dp。 设 dpi,jdp_{i,j}dpi,j 表示走了 iii 天,到达点 jjj 的方案数,显然有方程: dpi,j=∑k=1n(sumj×sumk−lj×lk)dpi−1kdp_{i,j}=\sum_{
阅读全文
摘要:前置知识 E1:dp。 E2:矩阵快速幂。 思路 暴力 dp 不难想到一个思路就是暴力 dp。 设 dpi,jdp_{i,j}dpi,j 表示走了 iii 天,到达点 jjj 的方案数,显然有方程: dpi,j=∑k=1n(sumj×sumk−lj×lk)dpi−1kdp_{i,j}=\sum_{
阅读全文
摘要:另类做法。 感谢 @chenly8128 提供的图片。 思路 首先我们对每个点坐标重新标号。即原来的 (x,y)(x,y)(x,y) 变为 (x,n−x+y)(x,n-x+y)(x,n−x+y)。变更完后坐标如下图。 然后我们需要对于起点,画 222 条线,即: 这两条线把整个平面分成了 444 部
阅读全文
摘要:前置芝士:高斯消元、异或。 思路 不难发现灯的开关状态与异或有关。设 000 为灯灭,111 为灯开,注意到 0⊕1=10\oplus1=10⊕1=1,1⊕1=01\oplus 1=01⊕1=0。所以灯的新状态等于原状态异或 111 的值。 然后我们可以把灯的状态转化成异或方程组来做。 首先我们要知
阅读全文
摘要:这是可以通过 A2 和 A3 的正解做法。 我们把 aaa 序列分成 cntcntcnt 个不下降的子段。 例如:a={1,1,4,5,1,4,1,9,1,9,8,1}a=\{1,1,4,5,1,4,1,9,1,9,8,1\}a={1,1,4,5,1,4,1,9,1,9,8,1},则分成 {1,1,
阅读全文
摘要:思路 令 ω\omegaω 为 aaa 的值域(即 4×1084\times 10^84×108),我们可以在 O(nlogωlogn)\operatorname{O}(n\log\omega\log n)O(nlogωlogn) 的时间复杂度内解决这个问题。 首先我们要对 aaa 和 bbb
阅读全文
摘要:两种做法。 dp 做法 我们设 dpi,j,0/1dp_{i,j,0/1}dpi,j,0/1 为第一个序列 aaa 取了 iii 个,第二个序列 bbb 取了 jjj 个,上一个数取自 aaa(最后一维为 000)或 bbb(最后一维为 111)的最小答案。 不难发现答案就是 dpk1,k2dp_
阅读全文