ICode9

精准搜索请尝试: 精确搜索
  • 【笔记】基础多项式2021-12-16 17:31:27

    来自\(\texttt{SharpnessV}\)的省选复习计划中的基础多项式。 P3803 【模板】多项式乘法(FFT) 快速傅里叶变换\(\rm FFT\),时间复杂度\(\rm O(N\log N)\)。 #include<bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<=b;i++) #define pre(i,a,b) for(int i=a;i>=b;i--) #define N

  • hash2021-11-25 19:01:31

    1 利用一个随机数rand()对 每一个点 进行一个随机负值 利用 数的大小和 等等 来表示一些 关系 从而可以减少时间复杂度 和 思维难度; 要有4个rand()而且前面是 1ll 不然不行的。 1ll 很重要 例题: 天作之合 Description 对于一张n个点,m条边的无向图,若对于点i,j,除i,j 外其他所有点要么都

  • 多项式板子2021-11-17 21:31:34

    #include <iostream> using namespace std; #define ll long long const ll N = 1e5+50; namespace NTT{ const int P[3] = {469762049, 998244353, 167772161},//模数 G = 3, //原根 Gi[3] = {P[0] / G + 1, P[1] / G + 1, P[2] / G + 1};//逆元 int R[N];

  • #树状数组,欧拉函数#CF594D REQ2021-11-15 19:04:11

    题目 给定 \(n\) 个数,求 \(\varphi(\prod_{i=l}^r{a_i})\) 分析 考虑单个欧拉函数的求法,只需要求出这个数的质因数计算即可。 那么考虑离线,枚举右端点,记录每个质因数的最晚出现位置, 那么在上一位置乘上 \(\frac{p}{p-1}\),在当前位置乘上 \(\frac{p-1}{p}\),树状数组维护即可 代码

  • NOIP 注意事项2021-11-14 22:35:08

    考场策略 留出半个小时检查文件名、数组大小、内存(最好写的时候顺便检查掉); 测极限数据; 考场上不要过分保守; 细节完全想好后再写; 求稳,尽量每道题对拍; 开 O2 的题编译的时候一定要加上 -O2,避免 Undefined Behavior 导致的 RE; 仔细读题,不要少读条件; 不要被旁边调不出来题怒砸键盘的

  • CF1028F Make Symmetrical 题解2021-11-13 10:01:21

    Link. Codeforces Luogu Description. 给一个初始为空的整点集, 现在有 \(n\) 次操作 向点集中插入点 \((x,y)\) 从点集中删除点 \((x,y)\) 问至少需添加多少点满足图像关于 \((0,0)\) 和 \((x,y)\) 连成的直线对称 每次询问并没有把点加入点集中,每个询问是独立的。 Solution.

  • G. Game Design2021-11-12 16:04:13

    #include<bits/stdc++.h> #define inf 1e7 #define ll long long #define int long long #define ull unsigned long long #define PI acos(-1.0) #define PII pair<int,int> using namespace std; const int N = 1e5+7; const int p = 998244353; int k,num,p

  • 高斯消元-异或版2021-11-08 19:31:06

    题目 2020icpc济南-A-Matrix Equation 思路 矩阵 A 与答案 C 每列乘积异或和互不干扰,故对每列分别列高斯方程求自由元个数,等式右边化为 0 找到当前处理的未知数为 1 的行,交换,对之后该未知数为 1 的行整行异或,化为上三角求出解 代码 #include<bits/stdc++.h> #define LL long long

  • msc的背包(生成函数)2021-11-03 15:06:37

    msc的背包 思路:显然分别对大小为1和2的分别构造生成函数 即 \(1+x+x^2+x^3+...\)= \(\frac{1}{1-x}\) 和 \(1+x^2+x^4+....\) = \(\frac{1}{1-x^2}\) 总贡献为 \(\frac{1}{(1-x)^n(1-x^2)^m}\)=\(\frac{1}{(1-x)^n(1-x)^m(1+x)^m}\)=\(\frac{(1+x)^n}{(1-x^2)^{n+m}}\) 分子是二项

  • 【NOI P模拟赛】(要素过多的标题)(容斥原理)2021-10-29 18:30:01

    题面 0 题目背景 [ 数   据  

  • cf869 C. The Intriguing Obsession(排列组合)2021-10-23 12:31:07

    https://codeforces.com/contest/869/C 题意: 有三种颜色的岛屿,数量分别为 \(A,B,C\) 在一些(可能全部或没有)岛屿之间建立了桥梁。一座桥双向连接两个不同的岛。对于任意两个相同颜色的岛甲和乙,要么甲不能到达乙,要么甲要经过至少3座桥才能到达乙 岛两两不同,问造桥方案总数。答案对 9

  • P3857 [TJOI2008]彩灯2021-10-21 11:32:50

    Jinnie 显然是一个线性基的问题,那么很显然要用线性基 想要知道所有的方案数,线性基的性质就是用其中的元素\(xor\) 出来的元素保证互不相等 这样的话只要知道线性基内元素的数量就可以了 #include<bits/stdc++.h> #define int long long using namespace std; template<class T>inl

  • E. Placing Rooks2021-10-20 19:31:24

    题目地址 题意:给定n和k,在n*n的棋盘上放n个“车”,使每一个空格都能被某一个车攻击到,且恰好有k对车可以相互攻击,求放置的方案数。 思路:首先要满足第一个条件,每一行和每一列都至少有一个车,那么只要刚好一行一个车就能满足条件,最后答案乘二就是加上每列刚好一个。然后要满足第二

  • #离线#洛谷 5358 [SDOI2019]快速查询2021-10-19 12:04:19

    题目传送门 分析 由于询问次数很多,只能离线去做,考虑全局的操作都可以打标记。 对于单点的操作,实际上的数为 \(x'=x*Mul+Add\) 由于这两个标记单独撤销比较困难, 不妨开一个数组直接维护 \(x=\frac{x'-Add}{Mul}\), 单点赋值就直接加上 \(\frac{x_q-x'}{Mul}\),单点查询再把标记乘回

  • [ARC124E]Pass to Next2021-10-17 11:05:14

    Pass to Next 题解 做过一遍的题再做一遍有不会了。 首先,我们发现,如果每个人都至少传了一个球,那么我们得到的最终的序列就会与去掉它们都串的球的最小值后的序列相同。 所以我们的答案可以用所有方案 − -

  • 模拟77 考试总结2021-10-16 07:31:18

    怎一个 惨字了得 考试经过 开场感觉状态不错,发现T1可做半小时冲完,精神状态较佳,直接开T2 先冲爆搜然后思考部分分,发现可以背包,仔细算了空间会炸,于是选择部分分打满,数据范围很可折半但没思路 T3直接爆枚出边,认为不太能全是菊花,于是愉快写完走人 T1拍200万组,T2两个部分分相互拍5万组,T

  • a^b mod q2021-10-12 21:59:29

    看到这个题第一反应就是直接循环挨个相乘求解,即相乘b次,这样时间复杂度为O(n),提交超时。 所以这里我们采用快速幂求解,将b看成二进制数处理: b&1:得到b的二进制数的最低位 b>>1:右移舍弃b的二进制最低位 假设b的二进制有k位,k=log2(b+1),时间复杂度变为log2b. 由此我们得到如下代

  • 【模板】字符串哈希2021-10-12 12:35:09

    struct hash{ const int P = 1313131; int n,mod,f[N],p[N]; char str[N]; inline int calc(int l,int r) { return (1ll * f[r] - 1ll * f[l-1] * p[r - l + 1] % mod + mod) % mod; } inline void init(int Mod,char s[]){ mod = Mod; n =

  • 10月4日模拟赛题解2021-10-06 18:03:41

    T1 码灵鼠 \text{T1 码灵鼠} T1 码灵鼠 Description \text{Description} Description 对于数列

  • CF11 B. Jumping Jack2021-10-02 17:34:24

    Problem - 11B - Codeforces   题意: 坐标轴, 初始在0,目标位置x,第i步可以移动距离i,可以左移或者右移 问最少需要多少步   假设每一步都往目标方向去,就是问最小的t,满足1+2+3+……+t = t*(t+1)/2 >= x 如果恰好是x,那就结束了 如果大于x,那么就需要把前面的某些步反方向 假设现在的位

  • 每日一小题——快速幂2021-09-26 20:03:07

    前言 在文章开始之前,先复习一下,位运算的一些基本操作。 a & 11.判断a的二进制表示的第0位上的数字是否是1a & 12.判断奇数还是偶数,奇数:true ,偶数:falsea >> 1右移一位 题目 题目是求 a 的 b 次方对 p 取模的值。 题解 因为我们知道an = a t1 * at2,其中 n = t1 + t2. 而在ab

  • AT4729 [ABC130E] Common Subsequence2021-09-09 14:01:00

    洛谷题面 题目大意 给出两个长度分别为 \(N\) 和 \(M\) 的整数序列 \(\rm S\) 和 \(\rm T\),它们均由 \(1\) 到 \(10^{5}\) (含) 之间的整数组成。 求在 \(\rm S\) 子序列和 \(\rm T\) 子序列中,有多少对两个子序列的内容相同。 子序列的说明: \(\rm A\) 的子序列是指通过从 \(\rm A

  • hdu7047 /2021“MINIEYE杯”中国大学生算法设计超级联赛(7) 1004 Link with Balls2021-09-05 15:31:28

    https://acm.hdu.edu.cn/showproblem.php?pid=7047   题意: 2*n个筐,每个筐里的球个数无限。第2*x个框至多取x个球,第2*x-1个框只能取x的倍数个球。 问取出m个球的方案数   至多取x-1个球的筐和只能取x的倍数个球的筐放在一起可以看作是可以取任意个球的筐 所以第2个筐到第2n-1个筐

  • 2021CCPC网络赛E Easy Math Problem2021-09-04 19:02:30

    传送门 这是我接管阿烜的博客后的第一篇题解,还是好好写一写罢。 我们可以考虑枚举\(i\),用矩阵来快速计算第二种转移的方式,这需要我们对于\(\forall i\in [1,n]\)快速求出\(f(i)=\sum_{j=1}^n\binom{i+j}{j}b^j\),其中\(b\)是第二种转移方式的转移矩阵。 对于\(f(i+1)\),用递推的方法

  • NFLSOJ 1072 - 【2021 六校联合训练 NOIP #1】异或(FWT+插值)2021-08-25 09:02:49

    题面传送门 一道非常不错的 FWT+插值的题 %%%%%%%%%%%% 还是那句话,反正非六校的看不到题对吧((( 方便起见在下文中设 \(n=2^d\)。 首先很明显的一点是这题涉及两个维度:异或和与选出的元素的个数。因此考虑像子集卷积那样建立一个二元生成函数表示这个东西,具体来说我们定义一个幂级数

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有