luogu P2261 [CQOI2007]余数求和 (数论分块)
摘要:这题要推一下式子,注意涉及到取模的式子都要尽量展成减去下取整的形式。 注意,这里求和符号是求到n,因此分块里面 l 的范围就是l<=n,然后对于n大于k的情况需要特判一下。 1 #include "bits/stdc++.h" 2 using namespace std; 3 typedef lon
阅读全文
posted @
2022-07-28 00:23
珍珠鸟
阅读(25)
推荐(0) 编辑
UVA11526 H(n) (数论分块)
摘要:数论分块的板子题,主要精华就一点: 剩下的可以看数论分块 - OI Wiki (oi-wiki.org) #include "bits/stdc++.h" using namespace std; typedef long long LL; LL t,n; inline LL h(LL x){ LL
阅读全文
posted @
2022-07-27 23:03
珍珠鸟
阅读(17)
推荐(0) 编辑
暑假集训Day7 I (博弈论)
摘要:关于博弈论的复习: 鸽了 学了一晚上没学会 哈哈
阅读全文
posted @
2022-07-12 22:55
珍珠鸟
阅读(24)
推荐(0) 编辑
暑假集训Day3 M(数学异或问题)
摘要:很经典的异或问题,对于这种异或计数问题,通常的思想是把它放到一棵二进制树中去看,二进制树中的第 i 层,对应的是一个数中的从高往低数第 i 位的取值,我们需要从根节点开始向下递归去确定取值。 对于一棵二进制树(它可能是原树的一颗子树),如果它的左右孩子是完全一样的,意味着当前位取0或者1都是可以的不
阅读全文
posted @
2022-07-10 19:56
珍珠鸟
阅读(29)
推荐(0) 编辑
暑假集训Day4 E(线段树好题)
摘要:题目链接在本地 这道题如果按照题目意思去算c_i的话每一步都会是 O(n) 的复杂度,而且并不知道每一步的操作对后续的影响是什么,很显然不能这么做 这种情况下我们要考虑到要将c_i化成一个和 1...i 或者 i...n 有关的式子(i...n的情况可以用1...n减去1...i-1来解决),这样才
阅读全文
posted @
2022-07-09 16:16
珍珠鸟
阅读(19)
推荐(0) 编辑
暑假集训Day1 L (Lucas+容斥原理)
摘要:题目链接在本地…… 这题题意就是一个二维图,按象棋中马的走位从左上走到右下,中间有一些点不能到达,问有多少条路径。 可以很明显的想到是一个容斥的问题,但是如此众多的点,放在一起容斥属实非常复杂。在这种情况下,一般都要想到由简入繁:想到一个个的把点加进去看。 现将点都排一遍序,从左上到右下,开一个数组
阅读全文
posted @
2022-07-05 19:12
珍珠鸟
阅读(21)
推荐(0) 编辑
cf742 c (思维或搜索)
摘要:题目链接在这里:Problem - C - Codeforces 这题其实如果是硬搜索的话也是可以做的。就是往上借位。 有一个巧妙的做法,就是可以看到,进位只会与奇位和偶位有关,所以我们只要把这两位分离开来,这样就是正常的加减法了。 好了 我连搜索都打不好。。。 1 #include "bits/s
阅读全文
posted @
2021-09-08 00:28
珍珠鸟
阅读(72)
推荐(0) 编辑
暑假集训Day29 I (数学)
摘要:题目链接在这里:Problem - I - Codeforces 对于这种整数余数问题,首先要保证的是一定得确定一个最小的分度值作为单位一!! 1 #include "bits/stdc++.h" 2 using namespace std; 3 typedef long long LL; 4 LL
阅读全文
posted @
2021-08-31 09:20
珍珠鸟
阅读(35)
推荐(0) 编辑
HDU-7106 (数学+思维)
摘要:题目链接在这里:Problem - 7106 (hdu.edu.cn) 这题是要求一个函数在一段区间上的极值,这是一个四次函数,通过因式分解并没有什么有价值的发现,但是我们发现,如果固定了一个变量,剩下的就是一个二次函数,显然二次函数求最值还是很好操作的,打表可以发现g(x)的最大值也只有54,所以
阅读全文
posted @
2021-08-28 22:18
珍珠鸟
阅读(70)
推荐(0) 编辑
暑假集训Day19 A (几何)
摘要:题目链接在这里:Problem - A - Codeforces 这道几何题根据数据范围只支持O(n2)的复杂度,意思就是最多只能枚举两个点。由于直角边的向量之积为0,所以我们可以通过一个向量算出对应的与之垂直的向量,这样我们每次固定一个点,把当前点所能连出的向量都枚举一遍,再统计一遍就行了。注意直
阅读全文
posted @
2021-08-13 22:02
珍珠鸟
阅读(37)
推荐(0) 编辑
暑假集训Day18 J (Catalan数+单调队列)
摘要:题目链接在这里:Problem - J - Codeforces 这是一个Catalan数的应用,关于Catalan数的推导以及其他应用可以看这个博客:(7条消息) n个节点的二叉树有多少种形态(Catalan数)_garrulousabyss的博客-CSDN博客_n个节点的二叉树有多少种 回到这题
阅读全文
posted @
2021-08-11 03:16
珍珠鸟
阅读(51)
推荐(0) 编辑
暑假集训Day22 B (Lucas+SOSDP)
摘要:题目链接在这里:200202.pdf (codeforces.com) 这题非常巧妙,首先看到组合数以及奇偶,奇偶的话是与%2有关的,所以想到Lucas定理。 有组合数有模数想Lucas定理!!!!!!!!!!! Lucas定理展开是这个样子的: 第一项不用看,我们看第二项,为了让结果是奇数,第二项
阅读全文
posted @
2021-08-10 23:51
珍珠鸟
阅读(35)
推荐(0) 编辑
暑假集训Day15 L (枚举)
摘要:题目链接在这里:Problem - L - Codeforces 很显然只用看后两位就行了,我们要让后两位尽量的小并且能被4整除,注意只用看最后两位能被4整除就行了,因为只是两个数,我们对这两个数进行枚举,让这两个数都尽量的小才能保证最后的最大值(把大的数都往前摆)这样的话枚举就应该i从1~9,j从
阅读全文
posted @
2021-07-29 23:51
珍珠鸟
阅读(26)
推荐(0) 编辑
暑假集训Day15 D (数学 最小生成树)
摘要:题目链接在这里:Problem - D - Codeforces 这题涉及到两个与Fibonacci数列有关的性质 一个是一定不存在两个Fibonacci数列项之和等于另外两个Fibonacci数列项 所以最小生成树是唯一的,不存在多解的情况,这样让最大度最小这点可以忽略 另一个是假设a,b,c,d
阅读全文
posted @
2021-07-29 23:00
珍珠鸟
阅读(43)
推荐(0) 编辑
暑假集训Day14 G (gcd 数学)
摘要:题目链接在这里:Problem - G - Codeforces 这题涉及到gcd,然后要把n拆分成k个数,这k个不同的数gcd最大。我们从一般的构造开始想,如果这k个数为1,2,...k,加起来比n大了,那一定就构造不出来。然后我们可以知道这个gcd一定是n的一个因数,所以我们可以枚举这个因数(这
阅读全文
posted @
2021-07-28 22:34
珍珠鸟
阅读(45)
推荐(0) 编辑
暑假集训Day13 H (进制转换 数学)
摘要:题目链接在这里:Problem - H - Codeforces 这题涉及到小数的进制转换,我们知道小数的十进制进制转换就是不断拿十进制乘以要转换的进制数,然后取整数部分。 这里要判断是否是有限小数,也就是说,要让这个十进制小数在乘上若干个进制数之后,只有整数,再换个表述就是分数p/q要让这个分数乘
阅读全文
posted @
2021-07-28 01:45
珍珠鸟
阅读(45)
推荐(0) 编辑
暑假集训Day12 H (数论 STL)
摘要:题目链接在这里:Problem - H - Codeforces 这题思路不难想,将每个数分解质因数之后,如果有两个数,对应质因数的次数加起来正好是k的倍数,那这两个就是符合的,也就是说这两个数要形成一个互补的关系,用数组来实现的话会比较麻烦,使用map映射函数配合vector容器会简化很多 不得不
阅读全文
posted @
2021-07-27 02:10
珍珠鸟
阅读(34)
推荐(0) 编辑
暑假集训Day10 H (博弈论)
摘要:题目链接在这里:Problem - H - Codeforces 这个题因为数据不大,可以用贪心去模拟做。就是每一个人都不让对方在剩余的大堆里拿石子,所以每一个人都在自己所能拿到的最大堆里拿(类似于保护这个堆不让别人拿) 正解的博弈论我们先讨论特殊情况,就是有一堆比剩下所有的都大,那只要有一个人一直
阅读全文
posted @
2021-07-23 23:41
珍珠鸟
阅读(38)
推荐(0) 编辑
暑假集训Day1 B(拓展欧拉定理)
摘要:这题公式其实非常好推,主要是在幂的指数上取模的时候,应该用欧拉定理,指数上模的应该是MOD对应的欧拉函数值 1 #include "bits/stdc++.h" 2 using namespace std; 3 typedef long long LL; 4 const int MOD=1e9+7;
阅读全文
posted @
2021-07-13 21:04
珍珠鸟
阅读(42)
推荐(0) 编辑
暑假集训Day1 A(gcd)
摘要:这题一开始看到解多元方程组然后就直接想到中国剩余定理去了,事实上我们应该想到辗转相除法会把这里每个数多出来的数减掉,然后模拟一下辗转相除法,拿最小的数去把其他的数多出来的消掉,这样每次有n-1个数是固定的了。 对于中国剩余定理和扩展CRT都是要保证每一个方程组中的模数和余数是知道的,我们才能去算那个
阅读全文
posted @
2021-07-13 20:08
珍珠鸟
阅读(38)
推荐(0) 编辑