随笔分类 - ACM做题记录
摘要:https://acm.hdu.edu.cn/showproblem.php?pid=7139 这道题写了快4个小时,一开始看错题浪费了一个多小时,然后重做又一堆bug,生生要把人气死。写个题解记录一下。 题目描述 解题思路 注意到n,m,k的范围非常小,那么可以操作的空间就比较大。 一开始以为是最
阅读全文
摘要:https://ac.nowcoder.com/acm/contest/33186/I 解题思路: 令 $f_{s,r}$ 表示剩余$s$张单牌、剩余$r$张可以摸的牌时的期望轮数。 每次摸牌,回合数加1,这张牌可能可以凑成对子,也可能不行。凑成对子的概率是$\frac{3s}{r}$,否则是$\f
阅读全文
摘要:https://ac.nowcoder.com/acm/problem/16596 点击查看代码 #include <bits/stdc++.h> using namespace std; #define int long long int mod = 10007; int frac[1002];
阅读全文
摘要:应用 数论分块用于快速计算形如以下公式的和式 $$ \sum_{i=1}^n f(i)g(\lfloor \frac{n}{i} \rfloor) $$ 前提是 在$O(1)$ 内计算出 $f(r)-f(l)$ 或者已经处理出 $f$ 的前缀和。 复杂度为 $O(\sqrt{n})$ 数论分块结论
阅读全文
摘要:https://ac.nowcoder.com/acm/problem/218398 数论分块 在1~x 内,因数为 i 的数有 x/i 个,则约数和就是 x/i * i。 则G(n)就是 $$ \sum_{i=1}^n i\times \lfloor \frac{n}{i} \rfloor $$
阅读全文
摘要:https://ac.nowcoder.com/acm/problem/17450 数论分块模板题。 对于每一个数 i ,在 x 内都有 x/i 个数的因数含有它。 则最终要求 $$ \sum_{i=1}^n\lfloor \frac{n}{i} \rfloor $$ 点击查看代码 #include
阅读全文
摘要:NC229005 【模板】同余方程(https://ac.nowcoder.com/discuss/926597) 点击查看代码 #include <bits/stdc++.h> using namespace std; #define int long long int exgcd(int a,i
阅读全文
摘要:定义 欧拉函数是小于x的整数中与x互质的数的个数,一般用φ(x)表示。特殊的,φ(1)=1 计算通式 φ(x)=x$\prod_{i=0}^n(1-\frac{1}{p_i})$ φ(1)=1 其中$p_1,p_2 \cdots p_n$为x的所有质因数,x是正整数。 理解:对于x的一个质因数$p_
阅读全文
摘要:https://ac.nowcoder.com/discuss/926597 欧拉筛求欧拉函数 x和y互质的坐标会被看到,可以转化成欧拉函数来做 点击查看代码 #include <bits/stdc++.h> using namespace std; #define int long long in
阅读全文
摘要:https://ac.nowcoder.com/acm/problem/23050 最大公约数的辗转相除法 点击查看代码 #include <bits/stdc++.h> using namespace std; #define int long long int gcd(int a,int b)
阅读全文
摘要:https://ac.nowcoder.com/acm/problem/16710 给定a,b求lcm 注意a先除以gcd再乘b,否则有可能会爆数据范围。 点击查看代码 #include <bits/stdc++.h> using namespace std; #define int unsigne
阅读全文
摘要:https://ac.nowcoder.com/acm/problem/235228 思路:用线性筛筛出$\sqrt r$以内的质数,再筛出区间L~R的质数。 点击查看代码 #include <bits/stdc++.h> using namespace std; int cnt = 0; bool
阅读全文
摘要:https://codeforces.com/problemset/problem/1323/D 思路 这道题暴力求解的复杂的是$O(n^2)$一定不可行,考虑对于二进制的每一位求解。 对于最终答案的每一位,只有两两之和为1的个数达到奇数个,这一位是1,否则是0。 设现在要求答案第i位,那么比i位高
阅读全文
摘要:题目来源 https://codeforces.com/problemset/problem/1677/B 题目 输入输出样例 解题思路 这应该是一道思维题。题目中求每一步,有多少行和多少列含数字"1"。按照题目放置数字的方式,先对列考虑,序号对m取模之后相同的数字一定在同一列,因此每一步将数字的序
阅读全文
摘要:https://codeforces.com/gym/103388/problem/N 题目理解: 就是给了一个 $3 \cdot 105$的数组,大概 $ 3 \cdot 105$ 个查询,每次询问某个区间内数组中大于等于某个数的数有几个。 AC代码 #include<bits/stdc++.h>
阅读全文
摘要:洛谷 P3834 静态区间第k小 #include<bits/stdc++.h> using namespace std; #define ll long long const int maxn = 200005; int n,q,tot,rt[maxn],a[maxn],b[maxn]; stru
阅读全文
摘要:Problem 1630B - Codeforces 题目大意: 给一个长度为 \(n\) 的数组 \(a\), 找到一个区间 [x,y], 使得 a 可以分成 k 个子数组,满足 3 个条件: 子数组是 a 中连续的元素组成的 a 中每个元素分到某个子数组里 在每个子数组中,位于[x,y] 区间内
阅读全文
摘要:题目来源:C - Monsters And Spells (codeforces.com) 题目: 输入输出及样例: 解题思路: 这道题 t 的范围 10的4次方,n 的范围是100, 猜测应该在$O(n)$ 的复杂度内解决。 题目可以等价地这样抽象: 在一条表示时间的坐标轴上,相对应有一系列整数点
阅读全文
摘要:题目链接 这个题比较简单,怎么做都行,但是看洛谷后面题解感觉还是有点复杂了,所以随手写一写题解。 题目描述 某校大门外长度为 $l$的马路上有一排树,每两棵相邻的树之间的间隔都是 11 米。我们可以把马路看成一个数轴,马路的一端在数轴 0 的位置,另一端在$ l $的位置;数轴上的每个整数点,
阅读全文

浙公网安备 33010602011771号