- 博客(468)
- 收藏
- 关注
原创 Codeforces Round #735 (Div. 2) E. You
Codeforces Round #735 (Div. 2) E. You题意有 T 组测试样例,每组测试样例:给你一棵 n 个节点的树,你要进行 n 次删除,每次删除选择树上一个没有删过的节点,将它删除,删除后会得到分数,分数等于与它连接并且没有被删除的节点个数。例如如图所示的这样一棵树:删除节点的顺序为 [2, 3, 1],那么分数分别是 [1, 1, 0],所以 [1, 2, 3] 点分别的分数就是 [0, 1, 1],我们称 [0, 1, 1] 是一种分数排列。你可以改变删除节点的顺序
2021-08-08 00:02:10 286 2
原创 ACMer 初期训练计划
训练计划语言入门程序设计基础(C语言)(第2版)张先伟 & 程序设计基础习题与实验指导(C语言)马新娟 & acm.sdut.edu.cn《程序设计基础(B)Ⅰ》实验1-顺序结构程序设计《程序设计基础(B)Ⅰ》实验2-选择结构程序设计《程序设计基础(B)Ⅰ》实验3-while循环结构程序设计《程序设计基础(B)Ⅰ》实验4-for循环结构程序设计《程...
2019-04-26 15:05:11 865
翻译 系统编程 学习笔记 04
终端终端(Terminal)也称终端设备,是计算机网络中处于网络最外围的设备。Alt + Ctrl + F1、F2、F3、F4、F5、F6 字符终端 pts(pseudo terminal slave) 指伪终端Alt + F7 图形终端SSH、Telnet… 网络终端终端的启动流程文件与 I/O 中讲过,每个进程都可以通过一个特殊的设备文件 /dev/tty 访问它的...
2019-04-03 13:46:39 348
翻译 系统编程 学习笔记 03
信号信号在我们的生活中随处可见,他们都有共性:简单。不能携带大量信息。满足某个特设条件才发送。信号的机制A 给 B 发送信号,B 收到信号之前执行自己的代码,**收到信号后,不管执行到程度的什么位置,都要暂停运行,去处理信号,处理完毕再继续执行。**与硬件中断类似 – 异步模式。但信号似软件层面上实现的中断,早期常被称为“软中断”。**信号的特质:**由于信号是通过软件方式实现,...
2019-03-24 20:42:07 414
翻译 系统编程 学习笔记 02
回收子进程孤儿进程父进程先于子进程结束,子进程的父进程成为 init 进程。僵尸进程子进程终止,父进程尚未回收,子进程残留的资源 (PCB) 存放于内核中,变成僵尸 (Zoombie) 进程。wait 函数一个进程在终止时会关闭所有文件描述符,释放在用户空间分配的内存,但它的 PCB 还保留着,内核在其中保存了一些信息:如果是正常终止则保存着退出状态,如果是异常终止则保存着导致该进程终...
2019-03-21 18:39:19 253
翻译 系统编程 学习笔记 01
进程相关的概念程序是指编译好的二进制文件,在磁盘上,不占用系统资源(cpu、内存、打开的文件、设备、锁…)进程是一个抽象的概念,与操作系统原理联系紧密。进程是活跃的程序,占用系统资源。在内存中执行。同一个程序也可以加载为不同的进程(彼此之间互不影响)并发:(时钟中断 硬件手段)单道程序设计多道程序设计时钟终端即为多道程序设计模型的理论基础。并发时,任意进程在执行期间都不希望放弃...
2019-03-20 10:29:29 317
翻译 Unix网络编程一
IPv4套接字地址结构sockaddr_in: socket address internetstruct in_addr { in_addr_t s_addr;};struct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; in_port_t sin_port;...
2018-12-14 16:28:58 279
翻译 【SG函数 && 存在不可达状态】Gym - 101908B Marbles
Step1 Problem:一个 100*100 的棋盘,棋盘上有 n 个棋子,Alice 和 Bob 轮流进行操作。操作:选择棋盘上的一枚棋子 (l,c)(l, c)(l,c),移动至 (l−u,c),(l,c−u),(l−u,c−u),u>=1(l-u, c),(l, c-u),(l-u, c-u), u >= 1(l−u,c),(l,c−u),(l−u,c−...
2018-10-26 21:10:30 844
翻译 【组合数学 && dp[i][j] = a*dp[i, j-1] + b*dp[i-1,j]+c 求 dp[n][n]】Gym - 101480F Frightful Formula
Step1 Problem:已知 a,b,ca, b, ca,b,c 和 dp[k][1],dp[1][k]dp[k][1], dp[1][k]dp[k][1],dp[1][k] 其中 k=1,2,3,...,n.k = 1, 2, 3, ..., n.k=1,2,3,...,n.dp[i][j]=a∗dp[i][j−1]+b∗dp[i−1][j]+c;dp[i][j] = a*dp[i][...
2018-10-26 21:02:06 1316
翻译 【高斯消元求期望】LightOJ - 1151 Snakes and Ladders
Step1 Problem:有 100 个格子,从 1 开始走,每次抛骰子走 1~6,如果所走位置大于 100,则重新抛骰子。i 会被传送至 nex[i]。问你从 1 走到 100 所抛骰子的期望次数。Step2 Ideas:(待填坑)Step3 Code:#include<bits/stdc++.h>using namespace std;const int N =...
2018-10-26 20:54:12 238
翻译 【离散对数 && EXBSGS】Gym - 101853G Hard Equation
Step1 Problem:a^x ≡ b(mod m).给你 a, b, m, 求 x.数据范围:1<=T<=500, 0 <= a, b < m <= 1e9.Step2 Ideas:学习算法博客说说自己的理解:a^x ≡ b(mod m).a 和 m 互质:根据欧拉定理:如果 gcd(a, m) == 1, a^phi(m) ≡ 1(...
2018-10-11 12:19:48 470
翻译 【树上ST表】Gym - 101889I Imperial roads
Step1 Problem:给你 n 个点,m 条无向边,边有边权。有 Q 个询问:询问给出一条边:u, v,让你输出包含 u, v 这条边的最小生成树的花费。数据范围:2 <= n <= 1e5, n-1 <= m <= 2e5, 1 <= Q <= 1e5.Step2 Ideas:对于给定的图,找出最小生成树,和最小生成树边权和 sum。...
2018-10-03 13:17:30 669
翻译 【容斥O(n)莫比乌斯筛 && 花式开根】Educational Codeforces Round 50 (Rated for Div. 2) F. Relatively Prime Powers
Step1 Problem:找 2 到 n 中满足条件 x 的个数。条件:x 唯一分解后质因数的幂的 gcd = 1。例:10:4, 8, 9 不满足条件,输出 6.数据范围:1&lt;=T&lt;=1e5, 2 &lt;= n &lt;= 1e18.Step2 Ideas:x^4 * y^2 = (x^2 * y)^2,也就是对幂进行提公因式。幂提公因式 = 1 的个数就是...
2018-10-02 17:44:47 356 3
翻译 【矩阵的十大经典题目中的第九】
Step1 Problem:给你 n*m 的矩阵,你可以填 1 * 1 的黑块,或者 1 * 2 的黑块,或者 2 * 1 的黑块。求有多少填的方案可以将矩阵填满。数据范围:1 &lt;= n &lt;= 8, 1 &lt;= m &lt;= 1e18.Step2 Ideas:感谢 dq 给我讲解了一波,发现了一篇很棒的博客。前置技能:你需要将经典题目 8 先学会了。这是你就知...
2018-10-02 17:06:06 399
翻译 【组合数学dp】Educational Codeforces Round 51 (Rated for Div. 2) D. Bicolorings
Step1 Problem:给你 2*n 的矩阵,你可以对于每个格子填涂黒色或者白色,如果相邻颜色一样看成同一块,问你涂完后恰好有 k 块的方案数。数据范围:1 <= n <= 1000, 1 <= k <= 2n.Step2 Ideas:总有一股组合数学的味道。直接说题解:dp[i][0][k]: 恰好为 k 块上下都黑的方案数dp[i][1][k]...
2018-10-02 16:33:44 235
翻译 【组合数学dp】ACM-ICPC 2018 徐州赛区网络预赛 A. Hard to prepare
Step1 Problem:给你 n 个数排成一圈,每个数的范围[0, 2^k-1],相邻两个数字它们异或值不能为 2^(k-1),求满足条件的排列数。数据范围:T<=20, 0 < n, k<=1e6.Step2 Ideas:我们假设 a 不能与他相邻的数为 a1,也就是 a 异或 a1 = 2^(k-1).第一反应:如果不是圈,那么排列数 = 4*3^(n-...
2018-10-02 16:24:15 246
翻译 【组合数学&&欧拉降幂】ACM-ICPC 2018 焦作赛区网络预赛 G. Give Candies
Step1 Problem:有 n 个人编号为 1, 2, 3, …, n,有 n 个糖果,按编号从小到大顺序分发给它们,所到编号至少得获得一个糖果,求有多少种分配方案。数据范围:1<=T<=100, 1<=n<=10^100000.Step2 Ideas:n个糖果恰好分给 1 个小朋友的方案数:C(n-1, 0)n个糖果恰好分给 2 个小朋友的方案数:C...
2018-10-02 15:20:53 264
翻译 【有源汇有上下界网络流的最小流】HDU - 3157 Crazy Circuits
Step1 Problem: 给你 n 个点,m 条流量下界是 low ,上界是 inf 的单向边。+ 是源点,- 是汇点。 如果存在可行流,求源点到汇点的最小流。 数据范围: 0 <= n <= 50, 1 <= m <= 200, 1 <= low <= 100.Step2 Ideas: 有源汇可行流的流量只是对应一组...
2018-09-16 00:35:26 356
翻译 【有源汇有上下界网络流的最大流】ZOJ - 3229 Shoot the Bullet
Step1 Problem 这是一个屌丝给女神拍照的故事。 有 n 天,m 个女神,第 i 个女神 n 天过后至少得有 Gi 张照片。 第 i 天: 屌丝给 C 个女神拍照,这天屌丝最多拍 D 张照片。 对于 id[j] 这个女神,拍照数量 [ low[j], up[j] ]。 如果合法: 输出 n 天后最大拍照数量,同时输出第 i 天 对于 i...
2018-09-15 11:09:15 173
翻译 【无源汇有上下界可行流】ZOJ - 2314 Reactor Cooling
Step1 Problem: 给你 n 个点,m 条流量下界是 low ,上界是 up 的单向边。问你能否满足每时每刻每条边的流量都在 [low, up] 范围内,如果不满足输出 NO, 满足输出 YES 同时输出每条边的流量。Step2 Ideas: 上下界网络流和平常的网络流不同在于多出了两个点:超级源点 S, 超级汇点 T. 超级源点 S:每条边下界流量都由 S ...
2018-09-15 10:44:52 204 2
翻译 【回文树 && 求本质不同回文串的和】ACM-ICPC 2018 南京赛区网络预赛 I. Skr
Step1 Problem: 给你一个字符串 s,求本质不同的回文字符串的加和 mod 1e9+7。 例:s = “1111”, ans = 1111 + 111 + 11 + 1. 数据范围: 1 <= len <= 2e6. 1 <= s[i] <= 9.Step2 Ideas: 前置技能:4348 = ((4*10 + 3)*1...
2018-09-11 17:24:51 252
翻译 【回文树 && 求每个回文串出现次数】HYSBZ - 3676 回文串
Step1 Problem: 给你一个字符串 s,求回文子串长度 * 该回文串子出现次数的最大值。Step2 Ideas: 结论:一个字符串 s,其长度为 len,该字符串本质不同的回文子串个数不会超过 len. 感性理解一下:增加一个字符最多增加一个新的本质不同的回文串,因为所有以它为结尾的后缀回文串,之前都出现过了。 回文树: 0是偶点,1是奇点...
2018-09-11 17:08:36 490
翻译 【欧拉路】Codeforces Round #508 (Div. 2) E. Maximum Matching
Step1 Problem: 给你 n 个块,每个块左右两边有颜色,中间是块的权值,如果不同的块的边颜色一样,那么它们可以合并成新的一块。 例:两个块分别是 c1 v1 c2, c2 v2 c1,那么这两个块可以变成 c1 v1+v2 c1,或者 c2 v1+v2 c2。 你可以选择 n 块的任意块,求合成后的权值最大值。 数据范围: 1<=n<=100...
2018-09-11 16:46:45 510
翻译 【前缀和 && 子矩阵的中位数】Gym - 101778F Median and Queries
Step1 Problem: 有一个 n * m 的矩阵,每个位置都有一个值 a[i][j]. 有 q 个询问。 对于每个询问给你一个子矩阵: 子矩阵的 左上角(x1, y1),右下角(x2, y2),求该子矩阵的中位数。 中位数:所有数排序后,中间的那一个。如果有两个中位数,选靠左边的那一个。 数据范围: 1<=n, m<=100, 1<=...
2018-09-06 11:09:23 419 3
翻译 【莫队】Gym - 101879H Wine Production
Step1 Problem: 给你 n 个数分别为 a[1], a[2], … a[n],m 个询问。 对于每个询问: 询问区间 L 到 R:有 k 个不同的元素 满足 它们都出现了 k 次,我们要输出最大的 k。Step2 Ideas: vis[i]:维护区间 i 这个元素出现几次。 sum[i]:出现次数大于 i 次的不同元素个数。 如果新增一个元...
2018-09-05 10:52:13 353
翻译 【莫队入门题】SPOJ - DQUERY D-query
Step1 Problem: 给你 n 个数,q 个询问. 每个询问区间 L, R 不同数的个数。Step2 Ideas: 如果知道区间 [L, R] 的结果,能 O(1) 求出区间 [L-1, R] 或 [L+1, R] 或 [L, R-1] 或 [L, R+1] 的结果,这时候可以使用莫队算法。 解决问题:我们可以把询问区间看成二维坐标系上的点,你如何画出最短...
2018-09-05 10:33:53 202
翻译 【单调栈 && 子矩阵】ACM-ICPC 2018 南京赛区网络预赛 B. The writing on the wall
Step1 Problem: 给你 n*m 的矩阵,里面有 k 个黑块,给你 k 个黑块的下标。 输出所有不包含黑块的子矩阵的个数和 数据范围: 1 <= n <= 1e5, 1 <= m <= 100, 0 <= k <= 1e5.Step2 Ideas: 前置技能:以 (x, y) 为右下角的子矩阵个数 = sum{ ...
2018-09-03 20:34:50 257
翻译 【线性筛】ACM-ICPC 2018 南京赛区网络预赛 J. Sum
Step1 Problem: n = a*b, 同时 a 的因数不存在平方数,b 的因数不存在平方数。(a != b,a 和 b 互换位置算不同的方案) f(n):满足上述条件的方案数 例如 n = 4: 只有 (2, 2) 一种方案,因为 (1, 4), (4, 1) 中的 4 的因数存在平方数。 T组询问,每次给你一个 n, 让你输出 sum{ f(i) }, i =...
2018-09-03 18:12:02 191
翻译 【逆向思维 && 找到最大子图使得每个点的度大于等于 k】Manthan, Codefest 18 (rated, Div. 1 + Div. 2) E. Trips
Step1 Problem: 给你 n 个点,m 天,正整数 k. 对于每一天: 都会新连接一条无向边 u, v. 得到一个新的图,找到最大的子图使得每个点的度都大于等于 k,输出该子图点的个数。Step2 Ideas: 新建一条边,找最大的子图,是很不方便的。 如果我们知道第 m 天的子图,往前推,每一天都删除一条边,判断子图点的个数会不会减少,这样...
2018-09-03 17:07:53 520
翻译 【Polya定理】Gym - 101873B Buildings
Step1 Problem: 给你顶部和底部是正 m 边形的柱体,侧面是边长为 n 的正方形,有 c 种颜色,一个侧面有 n*n 个格子可以染色,总共有 m*n*n 个格子可以染色。 可以沿着侧面方向旋转,旋转前和旋转后染色样子一样,算同一种方案,求有多少种染色方案。Step2 Ideas: 置换群:G;置换群中置换个数:|G|; 我们喜欢用 m 阶循环这种记号来...
2018-08-29 10:32:17 493
翻译 【贪心 && 树】Codeforces Round #506 (Div. 3) E. Tree with Small Distances
Step1 Problem: 给你 n 个节点的一颗树,问你至少加几条边,使得节点 1 到其他点的距离不超过 2. 数据范围: 2 <= n <= 2e5.Step2 Ideas: 只要是距离节点 1 超过 2 的点,我们必须加一条边,使其距离不超过 2. 贪心思路:我们看最深的节点,如果它距离节点 1 的距离超过 2,那么加边连接节点 1 到该...
2018-08-27 08:50:04 142
翻译 【计数 && 思维 && 数学】Codeforces Round #506 (Div. 3) D. Concatenated Multiples
Step1 Problem: 给你 n 个数 和 k,分别 a[1] … a[n]. connection(x, y) = xy. connection(45, 112) = 45112. 让你求 connection(a[i], a[j])%k == 0 的个数 (i != j) 数据范围: 1 <= n <= 2e5, 2 <= k &l...
2018-08-26 21:50:43 303
翻译 【尺取法 && 思维】牛客练习赛25 F 青蛙
Step1 Problem: 链接:https://www.nowcoder.com/acm/contest/158/F 来源:牛客网 一条河流上有 m+2 块石头,其中最左的石头坐标为 1 ,最右的为 n 。 现在在起点 1 有无数只青蛙,每个青蛙一步可以跳 ≤ d 的任意长度,每个石头(除了起点,终点)只能被跳一次,问最多有多少只青蛙可以跳到终点 n 。 数据范...
2018-08-25 11:00:42 328
翻译 【01背包 && bitset优化 && 取 10 个数构成 78 的方案数】HDU - 5890 Eighty seven
Step1 Problem 给你 n 个数,Q 次询问,每次询问删除三个下标对应的数,在剩下的数的基础上选择不超过 10 个数能否组成 87. 数据范围: N <= 50, Q <= 1e5.Step2 Ideas: ans[i][j][k]:代表删除下标 i, j, k 后,在剩下的数的基础上选择不超过 10 个能否组成 87. 我们预处理 a...
2018-08-22 20:27:10 323
翻译 【完全背包 && 加和等于 n 的方案数】Alice and Bob
Step1 Problem: Alice和Bob玩了无数局博弈觉得有点枯燥,于是他们想买一台售价为n元的switch,在switch上一较高下。他们东拼西凑出了m种面额的钱币,每种面额的钱币有无限张,问凑出n元的方案数。 当n=4时,我们认为{1,1,2},{1,2,1},{2,1,1}为同一种方案。 数据范围: 长度不超过 50 位的实数 n (1<=n<=...
2018-08-22 09:55:00 399
翻译 【线段树维护状态转移矩阵】CodeForces - 719E Sasha and Array NOWCODER D 整数序列
Step1 Problem: 给你 n 个数代表斐波那契数列下标, m 次操作。 操作分为两种类型; 1:区间 L 到 R 加 v。 2:求区间 L 到 R 的下标对应的斐波那契数列的和。 数据范围: 1 &amp;lt;= n &amp;lt;= 100000, 1 &amp;lt;= m &amp;lt;= 100000, 1 &amp;lt;= a[i] &amp;lt
2018-08-21 19:54:11 252
翻译 【区间DP && bitset && 内存】Codeforces Round #505 D. Recovering BST
Step1 Problem: 给你 n 个点,升序给出 n 个点的权值,让你判断是否能构成一棵排序树:两个节点权值的 gcd 不等于 1 才能够连边。 数据范围: 2 &lt;= n &lt;= 700, 2 &lt;= a[i] &lt;= 1e9.Step2 Ideas: 扩充知识:通常情况下,1字节 = 8位. C++ 里面 int 占 4字节,char 占...
2018-08-20 10:08:50 204
翻译 【组合数学 && 容斥 && C(n, m)%p && 逆元 && m 个大于等于 0 的数组成 k 的方案数】CodeForces - 451E Devu and Flowers
Step1 Problem: 给你 n 个盒子,每个盒子里面有 f[i] 朵花,不同盒子花不一样,同一个盒子花一样,求从这 n 个盒子选出 s 朵花得方案数 数据范围: 1 &amp;amp;amp;amp;amp;amp;amp;lt;= n &amp;amp;amp;amp;amp;amp;amp;lt;= 20, 0 &amp;amp;amp;amp;amp;amp;amp;lt;= s &amp;amp;a
2018-08-18 10:34:20 376
翻译 【Splay 模板题】HDU 3587 BZOJ 1251
Step1 Problem: HDU 3587 输入给出长 n 的一个序列,进行m次操作 1. 把序列中的第 a 个数字到第 b 个数字取出来插入到第 c 个数字后面 2. 翻转序列的 第 a 个数字到第 b 个数字这个区间 所有操作后输出结果 n <= 1e5 , m<=1e5 BZOJ 1251 输入给出长 n 的一个序列...
2018-08-17 09:54:00 196
翻译 【DP && 全排列 && 每一行选一个 1 保证其列不相等的方案数】UVALive 8521 LOL
Step1 Problem 给你 5 个由 01 组成的长度为 100 的字符串。 让你求选 5 个 1 且 1 不能再同一列的方案数Step2 Ideas: 学习博客 dp[i][j]:到了第 j 列,选了 i 个 1 且第 i 个 1 对应的列 大于 第 i-1 个 1 对应的列的方案数 结果等于 = 5 个字符串全排列后的 sum{ dp[5][100...
2018-08-14 21:30:14 305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人