03 2024 档案

摘要:[Ynoi2013] D2T2 link 对序列分块,最大子段和是一个可以合并的信息,对于一个询问,如果对每个整块求出这块保留 [L,R] 内的数得到的最大子段和相关信息(和,最大前缀,最大后缀,最大子段和)则把它们合并就是答案。 一个长度为 B 的块其实只有 \(\mathcal 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(6) 评论(0) 推荐(0) 编辑
摘要:疑难杂症总结 1.写树之类的东西如果要取模一定要区分节点 p 和模数 p。可以把后面那个大写或者前面那个改成 x 死亡次数 1 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(16) 评论(0) 推荐(0) 编辑
摘要:详细揭秘 整体二分 考虑这样一个问题: 给你一个序列,每次查询区间 kth。 如果你不会主席树,你可能会考虑二分答案:二分一个 mid,看看它在区间中的 rank,与 k 比较。 这样子单次暴力是线性对数的,不太妙。问题出在哪里呢?你发现每次找 rank 是线性的,很慢。 我们把多个 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(25) 评论(0) 推荐(0) 编辑
摘要:详细揭秘 SAM 这个咕了好久 这个东西很玄乎,大家抽象理解就好。 首先,SAM 是啥: 后缀自动机。 每个节点代表一个状态,里面存着一些原串的子串(但是不会在代码中存)。 每个节点有转移边指向其他节点,一个字符最多有一条它的转移边。 整个 SAM 的节点和转移边构成 DAG(有向无环图)。 每个节 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(3) 评论(0) 推荐(0) 编辑
摘要:详细揭秘 KMP 考虑失配的时候要重新到哪里开始匹配最优。 那显然是从已匹配部分的最长 border 开始啊。 像这样,跳到橙色 j 后继续判断 T 的紫色格子是否等于 S 的红色格子,如果不等于就继续跳。 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(6) 评论(0) 推荐(0) 编辑
摘要:详细揭秘 ACAM 首先明确 ACAM 处理的是多模式串单文本串问题。 先对所有模式串建 trie。然后对于每个点 u 维护 failu 指针指向 trie 中最长的且是 u 的后缀的节点。 对于模式串为 he,hers,she,i,his 建出的 ACAM 如下 和 KM 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(6) 评论(0) 推荐(0) 编辑
摘要:五十一(C) link 设 ft,i 表示第 tx=i 的概率。有 ft,i=j=in1j+1ft1,jFt(x)=i=0nft,ixi。有 \[\begin{aligne 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:vscode 的极快速配置 1.进入 vscode 官网下载最新版本,直接点 download for windows 即可 2.打开安装包,可能要去除安装路径中空格和中文 3.在 link 下载 MinGW 编译器,拉到最下面的离线下载,选 MinGW-W64 GCC-8.1.0 的 x86_64 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(10) 评论(0) 推荐(0) 编辑
摘要:Tricks (nm) 可以表示 nm 列矩阵从 (0,0)(n,m) 的路径数。AT1983 \(\displaystyle n^k=\sum_{i=0}^{\min(n,k)}{k \brace i}\binom n ii!=\s 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(10) 评论(0) 推荐(0) 编辑
摘要:根号数据结构 本文只是对 nzhtl1477 的课件内例题写写自己的理解,侵删。 最基础的动态分块 1.区间加,区间求小于 x 的数的个数 每块内维护 OV(有序表),整块查询 lower_bound,散块暴力查询。 修改的话散块可以重构,或者你注意到修改的位置在 OV 里拿出来也是有序的, 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(28) 评论(0) 推荐(0) 编辑
摘要:SP4487 Solution link 考虑用 fhq-treap 维护序列:按照 siz 进行 split,每次 split 出前 k 小的元素。于是这里就以序列下标为关键字,在平衡树中排序。 在 p 处单点插入的话执行 split(rt,p-1,x,y) 后对创造新节点 \(z 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题解 UVA1594 【Ducci序列 Ducci Sequence】 原题 简单模拟 值得压行注意的是an和a1的减法 从头到尾扫的话an-a1时a1的值已经被改变 那我们就可以一开始把a1的值存到an+1 代码 // 此处应有头文件 int n,t; int a[20]; bool check( 阅读全文
posted @ 2024-03-07 07:44 iorit 阅读(16) 评论(0) 推荐(0) 编辑
摘要:题解 UVA721 【Invitation Cards】 原题 题目大意:给定一个简单有向图,设disi,j表示ij的最短路径长度,求 i=2ndis1,i+i=2ndisi,1思路 先跑一遍 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题解 SP206 【BITMAP - Bitmap】 原题 此题暴力其实就可以水掉,甚至不需要搜索。 看一看数据: 1 <= n <= 182,1 <= m <= 182 还有时间限制: 时间限制 | 内存限制 4.00s | 1.46GB 我们用一个vector存储所有1的位 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题解 SP50 【INCARDS - Invitation Cards】 原题 题目大意:给定一个简单有向图,设disi,j表示ij的最短路径长度,求 \[\large \sum_{i=2}^n dis_{1,i} + \sum_{i=2}^n dis_{i,1} \ 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题解 SP27 【SBANK - Sorting Bank Accounts】 原题 这题可以直接暴力A 因为: 时间限制 | 内存限制 7.00s | 1.46GB 注意输入有空格,所以要用getline 代码 // 此处应有头文件 int n,t; string a[100 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题解 P4955 【[USACO14JAN]Cross Country Skiing S】 原题 翻译,从学校OJ偷来的 乍一看,要求最小的难度值D,于是考虑二分答案 + bfs/dfs。 如果一个关键格(x,y)能够到达关键格(xi,yi)(xj,yj) 那么\((x 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题解 P4536 【[CQOI2007]三角形】 原题 这是我们学校%你赛上的一道题。然而赛时只有70pts qwq。 首先显然可以得到当给出的三角形编号尾号为 4 时,仅有三个三角形与其相邻。 例如 T4 仅与 T1,T2,T3 相邻, 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题解 P4212 【外太空旅行】 原题 前置芝士:模拟退火 题意:给你一个无向图,求出这个图的最大完全子图的大小。(即最大团问题) 众所周知,最大团问题是 NPC 问题。观察数据范围 1n50,我们可以用模拟退火完成此题。 一般的模拟退火题都是维 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题解 P3831 【[SHOI2012]回家的路】 原题 这是我们学校膜你赛上的一道题。 感觉并没有紫题难度? 思路 一眼最短路,发现m100000,如果枚举每两个点的话会爆掉。 那么换一种建边方式罢。 显然两个点可以互相到达,当且仅当它们的x坐标相同或y坐标相同 于是我们用一个v 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题解 P3096 【[USACO13DEC]Vacation Planning G】 原题 题意 给定一个有n个点,m条边的有向简单图,其中有k个点是枢纽,并告诉你这k个点。 (1n,m200001k200) 给定\( 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题解 P2533 【[AHOI2012]信号塔】 原题 上次的题解被学长hack掉了,懒得调了,把退火做法放上来吧。 考虑模拟退火:选一个初始点,从这个点开始跑退火。问题是初始点怎么选。 首先所有点取平均大概是不怎么对的,只要很多点密集分布在一个区域再放一个点在很远处就可以卡掉。 发现这个圆只要能够 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题解 P2097 【资料分发1】 原题 题意:给定一个无向图,求这个图的连通块数量。 蒟蒻不会Tarjan,懒得打dfs,于是就写了个简单的并查集。 如果起点和终点不在一个集合内,那么就将它们所在的集合合并 一开始将ans设为点数,每次合并将ans-1即可。 ps:不会并查集的同学可以参考这里 代码 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题解 P1927 【防护伞】 原题 直接暴力枚举每一个点 最后求面积最小值就好了 代码 // 此处应有头文件 const double pi = 3.1415926535; int n; double ans = 1 << 30; // 2 ^ 30 struct node { int x,y; } 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题解 P1532 【卡布列克圆舞曲 】 原题 一道较难搞的模拟 因为蒟蒻不会奇奇怪怪的STL 所以都是手打的 思路 一个数组b存储操作过程中的数 每次扫一遍判断是否开始循环 如果循环: 记录循环开始的位置k 从k开始到总操作次数len - 1(第len个循环了)输出b[i] 否则: len++,记录 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题解 CF877D 【Olya and Energy Drinks】 原题 一道几乎板子的广搜题。(然而我调了10几次才过 我们只需要在广搜板子的基础上添加移动 1k步的部分即可 就像这样: int h[] = {-1 , 1 , 0 , 0}; int l[] = {0 , 0 , -1 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(11) 评论(0) 推荐(0) 编辑
摘要:题解 CF236B 【Easy Number Challenge】 原题 此题一个暴力就可以过了。 看着别的大佬不加记忆化吸口氧就过了,而我的却死活TLE 可能因为我人丑常数大? 注意到i*j*k的值会出现重复,所以考虑记忆化。 时间复杂度O(n3n),跑得飞快 代码 cons 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题解 CF120E 【Put Knight!】 原题 我一开始以为这题 n 为奇数就是先手赢,偶数就是后手赢 没想到还真是这样 那么要怎么证明呢? 一般地,在一个空棋盘上下出一枚棋,会有8个格子被这颗棋限制: X X X X K X X X X 容易看出,如果再放一枚新棋,会有2 , 4 , 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题解 AT4703 【Red or Blue】 原题 来介绍一下三元运算符: A ? B : C 如果表达式A为真,则执行B语句,否则执行C语句。 其作用就相当于: if(A) { B; } else { C; } 例如1 + 1 > 2 ? puts("I AK IOI") : puts("qwq 阅读全文
posted @ 2024-03-06 16:55 iorit 阅读(1) 评论(0) 推荐(0) 编辑
摘要:题解 AT945 【高橋君とお肉】 原题 来一篇正经的题解QwQ 显然我们要把肉分成耗费时间尽量平均的两堆。 于是考虑二分答案 那么怎么检测一个答案的正确性呢? 我们可以跑一个背包dp,让第一个烤肉架烤尽可能多的肉,最后检测第二个烤肉架能不能烤完剩下的肉即可。 时间复杂度O(nlog2n) 阅读全文
posted @ 2024-03-06 16:54 iorit 阅读(7) 评论(0) 推荐(0) 编辑
摘要:四十一(D) link 最小生成树,考虑将边权排序。然后每次暴力加边,判断是否已经联通,这样复杂度是 Θ(n2)。 考虑 P1117 之法,对于当前边对应的长度 len,将序列上 len 的倍数的下标设为关键点。 那么一个形如 AA 的串必定经过恰好两个关 阅读全文
posted @ 2024-03-06 16:54 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:四十七(A) link 由于 x 严格递增(互不相同),考虑根号分治,设定阈值 B。 对于 x<B 的部分,直接做背包,求出 fi 表示体积 i 能获得的最大价值。 转移一个物品进背包是 Θ(k) 的,最多 Θ(B) 个物 阅读全文
posted @ 2024-03-06 16:54 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:四十六(C) link 考虑第一问。将地图黑白染色,那么每个骨牌占了一黑一白。 删去一个骨牌会得到两个空格。由题目知道,这两个空格位置一一对应一个状态。 我们只需计数有多少种可能的空格出现的方案。考虑一个骨牌移动,等价于将一个空格从头部前一格移到尾部。 那么建图,每个骨牌的头部前一格连向尾部一格,单 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:暑假(5) NOIP2023模拟测试赛(二十二) A 考虑一个 Θ(n5) 暴力 dp,设 dpi,l,r 表示考虑前 i 行,第 ik 天后删剩区间 [l,r] 的概率。 转移枚举上一行的 [l,r],如果有交集就 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(3) 评论(0) 推荐(0) 编辑
摘要:暑假(4) NOIP2023模拟测试赛(十九) A 假设询问 (u,v)u,v 间距离为 d。 首先如果 k+1d 则两人怎么走都不会相遇,答案即 kmod2。现在 k+1>d。 对 d,k 的奇偶性分类讨论,如下图: 当 \(d 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(7) 评论(0) 推荐(0) 编辑
摘要:暑假(3) NOIP2023模拟测试赛(十六) A 手玩一下可以发现,iai 连边得到若干环,k 次操作内一定可以得到任意环数 [nk,n] 的方案。 现在即对于每个 i[0,k],求把 n 个不同的数放进 ni 个相同 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:暑假(2) NOIP2023模拟测试赛(八) A k 条路径共同经过的路径形成一条链。路径的其他部分要么停在链端点,要么发散开来,不重叠。 假设链为 u,v。我们考虑计算以 u 为链一端的方案数。 1.若 u,v 不为祖孙关系 枚举 u 一端发散开来的路径数量 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(9) 评论(0) 推荐(0) 编辑
摘要:暑假 NOIP2023模拟测试赛(一) A 每个数出现 2 次,可以容斥: 钦定 0 个数出现 <2 次,减去钦定 1 个数出现 <2 次,加上钦定 2 个数出现 <2 次,... 钦定 i 个数出现 <2 次怎么算?假设 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(16) 评论(0) 推荐(0) 编辑
摘要:link 考虑随机游走状的高斯消元:对于题目中的一个可重集 S,令 fS 表示,从 S 开始期望多少天后走到和 m 的集合。 则有两种转移,分别对应摆烂或不摆烂: (定义多重集减一个数为该集合去除一个该数,min{S} 为多重集中最小元素,\( 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:浅解 cdq 分治 cdq 分治用来解决一类可以独立计算贡献的问题。 比较经典的问题有:合法点对数,简单动态规划优化等。 cdq 的一般思想是:将当前处理的区间分成两半,左右区间内部的贡献递归处理,这层只处理左右区间之间的贡献。 如果单层处理的复杂度是 O(nlogn) 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(9) 评论(0) 推荐(0) 编辑
摘要:Powerful Number筛学习笔记 本文参考了 fjzzq2004 大佬,攀岩高手大佬和日居月诸大佬的博客。 PowerfulNumber 筛是一类在亚线性复杂度内求出积性函数前缀和的算法。 定义 设正整数 \(\displaystyle 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(7) 评论(0) 推荐(0) 编辑
摘要:P8820 Solution link 考虑 k=2,这种情况是不会跳出链的,我们把链拉出来做一个 dp。这个显然可以动态 dp 维护,具体地: 设 dpi 表示跳到第 i 个点最小权值和,定义广义矩阵乘法 × 满足 A×B=C阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P8512 Solution link 考虑对操作序列扫描线,每次求所有操作时间 L 的操作的和。 区间推平的话前面的操作是不影响后面的,于是维护一个 ODT,每个节点存一下插入的时间, 开一个 BIT 维护每个插入时间的段的和,插入一个段就单点加,删除一个段就单点减。查询就是求后缀 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(10) 评论(0) 推荐(0) 编辑
摘要:P7916 Solution link 建立平面图的对偶图,即:对于平面图的每个平面建立它代表的一个点。 对于两个平面,它们之间如果有接触边,则两个平面代表的点之间连一条边,边权为接触边的边权。 对于此题,抄个图: 每个红点都是平面代表的点,当然中间两个平面也应该有代表的点,但是因为两侧颜色不同所以 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P7915 Solution link 考虑枚举第一个操作选 L 还是 R。这样原序列就被分为了两个栈,用四个指针 p1,p2,p3,p4 分别指向这两个栈的栈顶栈底。 感性理解一下,某一个栈的栈顶 x 可以被 pop 当且仅当某一个栈的栈底等于 x。 于是直接 dfs,每次 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(8) 评论(0) 推荐(0) 编辑
摘要:P7914 Solution link 先考虑 Subtask 4。设 dpi 表示长度为 i 的方案数,按题目定义转移: AB,ASB:\(\displaystyle dp_n\gets dp_n+\sum_{i=1}^{n-1}\sum_{j=0}^kdp_i\time 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:P7913 Solution link 先考虑有 n 个廊桥的分配。假设廊桥编号为 1n,我们用两个堆 h1,h2 分别存当前空闲的廊桥编号和正在使用廊桥的飞机的离开时间。对于国内和国外的飞机分别做一次以下操作: 先按到达时间排序,从左到右扫,到第 i 架飞 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(10) 评论(0) 推荐(0) 编辑
摘要:P6588 Solution link 显然维护区间内的 x,y 还有两个要求的和,push_up 时多加上左右维护的前两个值瞎乘起来再瞎加减即可。 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(44) 评论(0) 推荐(0) 编辑
摘要:P5384 Solution link 弱化 这题空间 O(nlogn) 会 MLE。考虑怎么搞到 O(n)。 首先求 k 级祖先用树剖空间是 O(n) 的。 然后看看我们建线段树的过程,我们发现每次查询都是在对应深度 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(7) 评论(0) 推荐(0) 编辑
摘要:P4845 Solution link 考虑树形 dp,对于每个 u 直接钦定它的三种可能状态:有灯,没灯但是被其他灯照亮,没灯也没被照亮。 这样钦定会导致一些需要被照亮的点在当前子树中还未被照亮,需要依靠子树外的灯来照亮。称这种点为闲置点。 状态内只需要记录闲置点中最深的到子树根的距离,以 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(3) 评论(0) 推荐(0) 编辑
摘要:P4632 Solution link 对时间扫描线,就变成支持单点加入删除一个颜色点,求所有颜色距离某个点的距离最大值。 考虑二分答案,现在就是要检验 [xmid,x+mid] 内是否有 1k 颜色的点各至少一个。 数颜色可以考虑维护 prei 表示上一个与该 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P4555 Solution link 双回文串的左右两半部分显然是互相独立的。 于是考虑求出 lmi 表示以 i 结尾的最长回文子串长度,rmi 表示以 i 开头的最长回文子串长度,最后扫一遍所有的分隔符求 lm+rm 的最大值即可。 考虑如何求 \(l 阅读全文
posted @ 2024-03-04 20:47 iorit 阅读(6) 评论(0) 推荐(0) 编辑
摘要:P4516 Solution link 树形dp。设 dpu,k,0/1,0/1表示以 u 为根的子树内安装了 k 个设备,点 u 是否安装了设备,点 u 是否被监听时子树内除 u 都被监听的方案数。 注意到状态涉及到了设备的数量,转移的时候需要 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:P4449 Solution link \[\begin{aligned} \sum_{i=1}^n\sum_{j=1}^m\gcd(i,j)^k&=\sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^md^k[\gcd(i,j)=d]\\ &=\sum_{d=1}^n\sum_{ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(1) 评论(0) 推荐(0) 编辑
摘要:P4345 Solution link p=2333 f(n,k)(allmodpbelow) =i=0kCni \(\displaystyle=\sum\limits_{i=0}^ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(16) 评论(0) 推荐(0) 编辑
摘要:P4173 Solution link 对于一般的字符串匹配,我们可以用 FFT 在线性对数复杂度内解决。 对于这题,我们无法用常用的 KMP 算法解决。考虑对原先的 FFT 匹配算法进行一些修改。 原先 t 能够匹配 s 中以第 x 位结尾的 m 个字符当且仅当 \ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:P4137 Solution link 考虑建主席树:权值线段树的叶子维护这个权值最后出现的下标,push_up 的时候取 min。 这样一个区间的 min 小于 k 意味着有一个权值最后出现的下标小于 k,也就是说 k 后面没有出现这个权值。 也就是说 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(7) 评论(0) 推荐(0) 编辑
摘要:P3990 Solution link 一次只能跳一步的情况下: dpi,j=dpi1,j1+dpi1,j+dpi1,j+1 接下来考虑能跳奇数步:你发现跳 3 步相当于先跳一个奇数 1 再跳一个 2,跳 5 步相当于先跳一个奇 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:P3773 Solution link (nm)mod2=(nmod2mmod2)(n/2m/2)mod2我们要让 (nm)mod2 不为 0,也就是让右式的两项均不为 0。 考虑 \(\b 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(3) 评论(0) 推荐(0) 编辑
摘要:P3768 Solution link \(\begin{aligned} \sum_{i=1}^n\sum_{j=1}^nij\gcd(i,j) &=\sum_{d=1}^n\sum_{i=1}^n\sum_{j=1}^nijd[\gcd(i,j)=d]\\ &=\sum_{d=1}^nd^3\s 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P3761 Solution link 首先 O(n) 枚举断边。考虑连接两棵树的哪两个点会最优: 设 maxlu 表示 u 所在的树以 u 为根后根到叶子长度的最大值。那么显然就是连接两棵树中 maxlu 最小的两个点。 \(maxl_ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P3435 Solution link 画个图: 显然四个黄色部分是相等的。也就是说,黄色部分是 A 的一个 border。 根据题目,周期的长度也就是 Q 的长度,也就是 A 的长度减去它的某个 border 的长度。 现在要求这个最大,由于 A 的长度固定,要求的也就是 A 的最小 border 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(1) 评论(0) 推荐(0) 编辑
摘要:P3426 Solution link 考虑 dp。设 dpi 表示至 i 的字符串的答案。 KMP 求出 nxt 数组,那么显然 dpi 要么等于 i 要么等于 dpnxti。 什么时候 dpi 等于 dpnxti 呢? 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(3) 评论(0) 推荐(0) 编辑
摘要:P3306 Solution link xi+1a×xi+b(modp) xi+1a(axi1+b)+b(modp) xi+1a(a(axi2+b)+b)+b(modp) \ 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:P3263 Solution link 求 (b+d2)nmod7528443412579576937。 首先看到这个式子的形式,我们先把向下取整扔掉,研究里 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:P3214 Solution link 为了方便,我们求有序的答案最后再除掉 m!。 题目的限制包括: 每种元素总共出现偶数次 不存在相同的两个集合 没有空集 考虑偶数的限制,你发现每个集合中元素出现次数要么 0 要么 1。 于是如果你确定了前 m1 个集合,最后一 阅读全文
posted @ 2024-03-01 09:03 iorit 阅读(6) 评论(0) 推荐(0) 编辑
摘要:P2791 Solution link 给你 N,M,S,LS 组询问,每次给出 n,m,k,表示有 m1nm0,求随机选出 k 个数的和的 L 次幂的期望,模数 998244353。 \(S\le 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(4) 评论(0) 推荐(0) 编辑
摘要:P2704 Solution link 很显然是状压dp。设 dpi,S 表示第 i1 行和第 i 行拼起来的状态为 S,则每次枚举这一行的状态,检验是否符合地图限制、是否与上一行无交即可。 为了防止爆空间和 TLE,一开始可以先预处理一行的合法状态和两行的合 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(3) 评论(0) 推荐(0) 编辑
摘要:P2352 Solution link 扫描线即可。 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(5) 评论(0) 推荐(0) 编辑
摘要:P2150 Solution link 首先两人选的数两两互质相当于两人的质因数集合无交。 先考虑 n30:由于 30 内的质因只有 10 个,我们考虑状压 dp。 设 dpi,S1,S2 表示考虑到第 i 个数,G 选了质因数集合 \( 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(9) 评论(0) 推荐(0) 编辑
摘要:P1850 Solution link 看到最小期望值,考虑dp。 由于点的数量小于 300,我们可以先用 Floyd 预处理出两点之间的最短路。 设 dpi,j,0/1 表示前 i 间教室申请了 j 间,第 i 间教室是否申请的最小期望长度。 下面设 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(2) 评论(0) 推荐(0) 编辑
摘要:P1587 Solution link 给你 n,m,k,求满足 1xn,1ym 且最简分数 xyk 进制下纯循环小数的二元组 (x,y) 个数。 考虑纯循环小数的性质:我们知道纯循环小数的小数部分去除一个 阅读全文
posted @ 2024-03-01 09:02 iorit 阅读(4) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示