题意简述给定一个序列a,长度n,以及Q(个询问。定义一次操作如下:对于每个i,a[i]+=a[i%n+1]。一次询问给定两个正整数x(,请求出x次操作后a[y]的值。 思路框架找规律,预处理,O(qx+n)稳过 具体思路我们模拟几下(Excel打表 如果我们合并同类项后只提取系数,然后我们就会发现 ...
洛谷 4343 libreoj 2036 bzoj 4590 [SHOI2015]自动刷题机 题解
题意简述有一个刷题机,记录了这样的信息:有一个长度为$n<=1e5$的序列$a$,表示写(>0)或删(m$之后,你就会自动AC一个题,代码清空。现在已知你AC了$k$个题。求$m$的范围。无解输出-1. 思路很明显,$m$越大$AC$的越少。二分即珂。(话说上海的题怎么这么水) 实现注意 ...
洛谷 4296 [AHOI2007]密码箱 题解
题意简述给定$n$,输出所有的整数$x$满足:$0<x<n$且$x^2=1 (mod n)$。 n<=2e9. 思路以下所有的$=$都表示同余(那个三条横线我不会打…) $x^2=1 (mod n)$$x^2-1=0 (mod n)$$(x-1)(x+1)=0 (mod n)$ 枚 ...
洛谷 4159 bzoj 1297 [SCOI2009]迷路 题解
先说一句,矩阵真是太强了,啥玩意都能干。这个题是真的牛逼,做完我仿佛都变成了一个矩阵。 题意简述给定一个图,n,用邻接矩阵给出,每条边的权值是0,9之间的整数(1,9表示边权,0表示不连通)。请你求出从1到n走边权和为t的路径数。 思路拆点。每个点能联通的只有9种边权,所以拆成9个点,拆成的点之间大 ...
洛谷 4052 libreoj 10063 bzoj 1030 [JSOI2007]文本生成器 题解
题意简述你要求有多少个字符串,使得: 长度为m 包含至少一个给定的单词。会给定n个单词。 膜1e4+7 思路框架用总共的方案数减去一个单词都不包含的方案数。前面那个是26^n,后面那个在AC自动机上跑DP求解。 具体思路首先,“至少一个”->“总共减去一个都没有”,是一个经典套路。这个不多 ...
洛谷 3907 圈的异或 题解
题意简述给定一个无向图,点数和边数(但你完全珂以当成2e5来做),边有边权,判断这个图是否每个环的边权的异或和都是0。 思路框架暴力找每个环,根据DFS序维护异或和,然后用前缀和维护这个环的异或和,判断是否为0即珂。 具体思路首先维护DFS序是显然的。然后维护一下vis,表示有没有访问过。 如果点u ...
洛谷 3736 bzoj 4565 libreoj 2063 [HAOI2016]字符合并 题解
题意简述长度为n(<=300)的01串,你能合并连续一段长度为k(k<=8)的子串。会合并成什么,得到多少分数,由映射表决定。比如说,映射表是1 101 100 201 30 就代表00->1,得分是1001->1,得分是1010->0,得分是2011->1,得分 ...
洛谷 3648 bzoj 3675 [APIO2014]序列分割 题解
题意简述给定一个长度为n(的序列a,和一个k。将a切k次,划分成k+1个段,每切一次产生分数就是姓切出来的两个段的和的乘积。请你最大化分数(还要记录在哪里切的)。 思路。j在[0,i]之间。 (矢量图,随便放大)斜率优化一下顺便记录答案即珂。 具体思路先证明分数和切的顺序没有关系。 设原序列珂以分为 ...
洛谷 3528 libreoj 2170 [POI2011]PAT-Sticks
题意简述给你一些木棍,每个木棍有长度和颜色。输出一种方案,选择三个木棍,使得颜色不一样且能拼成一个三角形。开SPJ,多解输出任意一个。 木棍数量n,颜色数量k。 思路框架按长度排序,每次更新答案。 具体思路首先木棍显然是无序的。无序的问题,就先无脑排序一下(如果复杂度能承受)。没问题的。 然后我们用 ...
洛谷 3507 [POI2010]GRA-The Minima Game 题解
题意简述给出n个正整数a_1,a_2,...a_n,AB两个人轮流取数,A先取。每次可以取任意多个数,直到N个数都被取走。每次获得的得分为取的数中的最小值,A和B的策略都是尽可能使得自己的得分减去对手的得分更大。在这样的情况下,最终A的得分减去B的得分为多少。(蒯的,洛谷上的) 思路排序,dp[i] ...