随笔分类 - OI
摘要:题意:开始时给定一个空的数列,要求维护:1、加入一个数 2、数列中所有元素+k 3、数列中所有元素-k 4、查询数列中的第k大。其中对于任意时刻,如果有一个元素<Min,则删除该元素。 题解:平衡树裸题……话说当年还打算把Splay Treap SBT都学一下,结果现在只会Splay了QAQ #in
阅读全文
摘要:题意:给定y z p,求:1、yzmod p 2、y-1z mod p 3、yx≡z(mod p)的x 题解:题意即题解 #include <map> #include <cmath> #include <cstdio> #include <cstring> #include <cstdlib> #
阅读全文
摘要:题意:${x_{i + 1}} = (a{x_i} + b)\bmod p$,求最小的n使xn=t,无解输出-1,保证p为质数。 题解: 学好数理化,走遍天下都不怕 显然有\[{x_n} = {a^{n - 1}}{x_1} + b\sum\limits_{i = 0}^{n - 2} {{a^i}
阅读全文
摘要:题意:求${G^{\sum\limits_{d|N} {C_N^d} }}\bmod P$ 题解: 设\[A = \sum\limits_{d|N} {C_N^d} = A\bmod (P - 1) + k(P - 1)\]由费马小定理,G^A可以直接把k(P-1)省略掉,因此问题变成求G^[A%(
阅读全文
摘要:题意:给定一颗树,维护:1、给定一个节点,求该节点到根的路径上总点数-点权和,并将路径上的所有点的权值赋为1 2、给定一个节点,求该节点子树的点权和,并将子树中所有点的权值赋为0 题解:链剖裸题 #include <cstdio> #include <cstring> #include <cstdl
阅读全文
摘要:题意:给定一张有N个点的有向图,求0到N-1长度为T的路径的总条数。 题解:把长度为K的边拆成K条长度为1的边,然后建出邻接矩阵快速幂裸上。 #include <cstdio> #include <cstring> #include <cstdlib> #include <climits> #inc
阅读全文
摘要:题意:求12345……101112……(N-1)N mod M的值(被模数就是1-N顺次连接起来)。 题解:丧病的数学老师,看自己写的题解都看不懂了QAQ,首先设${f_i}$=前i个数连接起来 mod M的值,然后按位数不断转移,也就是说,假定当前要增加的数i最高位是10^k,那么\[{f_i}
阅读全文
摘要:题意:给定一个K个N元mod 2方程,若有解,求用前几个方程即可出解和各个变量为奇数还是偶数,若无解输出:Cannot Determine题解:有关01异或方程的解法可以看莫涛的论文。这个题就可以看作是异或方程——虽然是加法,不过只考虑二进制最后一位的话和异或是一样的。 #include <bits
阅读全文
摘要:题意:给定3*M+1张写有数字1到N的牌,求添加一个数字,使得所有的牌在删除两个数字相同的牌后,能够分成M组,其中每一组要么由相同的数字组成,要么由连续的数字组成。N≤400,M≤1000题解:暴力枚举加哪张牌,然后暴力枚举删哪两张牌,然后枚举判定是否合法。每次判定时先删除相同数字,后删除连续数字,
阅读全文
摘要:题意:A与B博弈,有N个装有豆子的瓶子,每次选择i<j<=k三个瓶子,其中第i个瓶子里一定有豆子,从i中取出一个豆子,然后在j,k中各放入一个豆子,不能操作者为负,求胜者和第一步的决策。 题解:将每个石子看成一堆石子,对初始状态的SG有贡献的石子堆的石子数一定为奇数,这样先手是否必胜就解决了。因此我
阅读全文
摘要:题意:在一个桌子边缘摆完全相同的长度为M的N本书(方块),只要重心投影在桌子上就算合法,求最远可以向外延伸的距离。 题解:最后放置的书需要补偿之前所有的书向外延伸导致的重心外移,因此重心投影在桌子上的书的重心应与其他的书的整体重心与桌子边缘的偏移距离相同。因而第i本书的延伸长度应为1/2i(证明可以
阅读全文
摘要:题意:给定一张无向图,求1到N异或和最大的路径,允许重复经过。 题解:首先跑出1到N的一条路径,答案就是在这条路径上不断加环。首先用DFS处理出所有基环的异或和(其他环一定由基环构成,重复部分异或之后就会消掉),然后就是从一堆数里选任意个数使得异或和最小了,怎么做可以去看莫涛的课件(同解01异或方程
阅读全文
摘要:题意:给定N维球面上的N+1个点,求这个球的球心。 题解:无意中翻到的一道裸题,顺手做了。首先考虑一个比较简单的二维情况,对于两个点(x1,y1),(x2,y2),据题意可以得到 推广一下有 \[\sum\limits_{i = 1}^N {2({d_{a,i}} - {d_{b,i}}){x_i}
阅读全文
摘要:题意:给定M个志愿者和工作时间的长度N,每个志愿者由工作时间[l,r]和费用c来描述,每个单位时间需要t名志愿者,保证有解,求最少总花费。 题解:这个题标算貌似是费用流啊,不太清楚……总而言之设x[i]为i这个人要不要,b[i]为各个时间所需的志愿者数量,a[i][j]为i时间j这名志愿者能不能起作
阅读全文
摘要:题意:给定E s v' k,求v最小化$\sum\limits_{i = 1}^N {\frac{{{s_i}}}{{{v_i}}}}$,要求$\sum\limits_{i = 1}^N {{k_i}{s_i}{{\left( {{v_i} - v_i^'} \right)}^2}} \le E$
阅读全文
摘要:题意:给定一个N*M的网格,求有多少个不同的三角形,顶点在交点上。 题解:首先找出所有三个点的组合,然后删除同行,同列,同对角线(横纵坐标的gcd相同) #include <cstdio> #include <cstring> #include <cstdlib> #include <iostrea
阅读全文
摘要:题意:给定一个轮状结构(中间一个点,周围有N个点以环状围住这个点),从不相交的2*N-1条边中选N条边,使任意两点间有且只有一条联通路径。 题解:请点这里。然而如果考场上考到直接打表找规律好了 #include <cstdio> #include <cstring> #include <cstdli
阅读全文
摘要:题意:给定N条直线,求由这N条直线组成的,满足上方没有直线交点的边界由哪些直线组成 题解:我这STL用的真是闷声做大死,多亏不卡常……显然所求的边界中的直线k肯定单调的,所以首先将直线按k升序(第一关键字),b降序(第二关键字)进行排序。然后枚举每一条直线,用单调栈s维护这个直线集,若堆顶元素s[0
阅读全文
摘要:题意:监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 题解:设f[i]=有M种宗教i个房间时不发生越狱的方案数,显然f[1]=M,f[i]=f[i-1]*(M-1)。最后答案就
阅读全文
摘要:题意:给定一个长度为M的字符串A,求长度为N的字符串中,子串中不包含A的字符串的数量,其中字符串仅由‘0’-‘9’组成。 题解:设f[i][j]=长度为i最后几位能匹配A的前j个字符的字符串种数,那么每往后添加一个字符,能转移到的位置通过KMP的Next数组很轻松就能找到。那么我们就能构造出来一个矩
阅读全文

浙公网安备 33010602011771号