- 博客(449)
- 收藏
- 关注

原创 2020-09-03
近期文化课总结:语文:不管他英语:3500一天复习一单元,三天一篇新概念数学:完成均值不等式,自学导数,做函数蓝本物理:有空就做动能定理,放假补完机械能守恒地理:学完知识点,做完必刷题,简单所以多学点历史政治计数:回去补生物化学:化学重点复习...
2020-09-03 16:30:58
190
1

原创 CSP-S 2019 : 退役记
Day\mathrm{Day}Day 好久前差点初赛没过QAQ…已经死了一回了Day0\mathrm{Day} 0Day0敲了一堆模板,事实证明是没有任何卵用的一个也没有考。还经常写错。考前续命了一波概率期望And差分约束,同样一个都有没有考。复习什么什么就不考心态很平和,不是太过于紧张。Day1\mathrm{Day1}Day1五点多就起了,睡的很好完全不紧张;在垃圾文渊排厕...
2019-11-17 17:05:02
460
7

原创 【竞赛技巧】OI竞赛常见错误
NOIP每一次都会有学生应为各种原因丢分,在此,我总结了一些常见的错误:1.打表不删除2.不开longlong3.文件名打错4.使用longlong,输出没有打lld5.负数下标6.变量重名7.审题8.数据规模看错导致数组开小越界(或者实际所需空间大于题意上的空间)9.变量,数组不赋初值10.没有去掉或没有加freopen11.c++编译inline后没有加类型12....
2018-11-10 09:29:41
976
原创 C语言文件学习
(10)打开文件:fopen(“文件名”,“操作”):r只写w只读w+读写r+读写a追加a+读写追加(r打开文本文件w建立新文本文件)(14)fgets用法:fgets(s,n,fp),最多读n-1个字符,结尾自动添加\0,换行符保留EOF不保留,(24)用fseek函数可以改变文件的位置指针,从而实现对文件的顺序读写和随机读写。(4)C语言的源程序是文本文件,目标文件和可执行文件是二进制文件(包含机器代码)(17)指针移动控制函数:fseek(fp,文件偏移量,起始位置0/1/2)
2025-01-03 10:13:11
237
原创 指针学习-
(9)对于字符数组sa,若要改变字符串,只能改变数组元素的内容,如:strcpy(sa,“Hello”);(22)返回指针的函数一般都返回主调函数或静态存储区中变量的地址,不能返回函数内部定义的自动变量的地址;(20)int main(int argc,char *argv[])其中argc是命令和命令参数的个数,argv[0]指向命令,argv[1…(23)定义指向函数的指针:int(*fun)(int,int)函数指针为fun,指向类型为int且有两个整形参数的函数;**(a+1)使第一行首元素的值。
2024-12-27 01:19:23
920
原创 C语言小测复习
15.switch语句如果遇到满足的,后面会全部执行下去,知道遇到break,如果default放前面则不执行。18.switch语句在default若default在中间,在无break的情况下会一直执行下面的语句。17.switch语句中不能出现两句话的case后的数值相同的情况。10.运行完sum的值是10,sum=0也太阴险了。1.C程序中定义的变量,代表内存中的一个存储单元。5.sum的值不是0.75,因为1/i不是小数。6.sum的值不是小数,注意变量的定义。9.语句1和语句2只运行了1次。
2024-10-10 17:56:41
442
1
原创 『并查集扩展域』CF776D The Door Problem
Problem\mathrm{Problem}ProblemFirst line of input contains two integers nnn and mmm ( 2≤n≤1052\le n\le 10^{5}2≤n≤105 , 2≤m≤1052\le m\le 10^{5}2≤m≤105 ) — the number of rooms and the number of switches.Next line contains nnn space-separated integers r1,r2
2020-11-30 20:12:15
482
原创 『动态规划·差分』队列
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution首先考虑第一小问,问题转化为:每一行的问题互相独立。令cj=ai,j−a1,jc_j=a_{i,j}-a_{1,j}cj=ai,j−a1,j,求将所有 cjc_jcj 变成一个数字的方案数。考虑第二小问,问题转化为:固定每一列的第一个数字,并且保证这个数大于零且单调递增的情况下,将每一列的cic_ici固定成一个数字。我们考虑DP来限制:设fi,jf
2020-11-30 19:26:53
620
原创 『曼哈顿距离转切比雪夫距离·树状数组·扫描线』航空基地Airbase
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution我们考虑将曼哈顿距离转化为切比雪夫具体:p(x,y)→p′(x+y,x−y)p(x,y)→p'(x+y,x-y)p(x,y)→p′(x+y,x−y)我们要求∣x1−x2∣+∣y1−y2∣≤d|x_1-x_2|+|y_1-y_2|\le d∣x1−x2∣+∣y1−y2∣≤d,相当于要求(x2,y2)(x_2,y_2)(x2,y2)在以下四个边界点的菱形内。(x−d
2020-11-30 19:13:50
489
原创 『旋转体积背包』sop
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution前置芝士:求解 ∑ai=N\sum a_i=N∑ai=N 的方案数我们考虑DP,设 fi,jf_{i,j}fi,j 表示和为 iii ,数字个数为 jjj 的方案数。我们需要让它你能重复,因此我们的转移必须从小到大或从大到小来转移。我们考虑从大到小转移,那么若当前的最小数字不是1,我们可以考虑每一个数字都减1,对应的方案数是 fi−j,jf_{i-j,j}fi−j,
2020-11-11 20:18:45
286
原创 zyb的精准押题
这次考试 :有一道图论(最短路、MST、topsort)中的一个有一个DP(区间、树形)有一个奇奇怪怪的贪心还有一个组合数学,模数是998244353
2020-11-06 08:42:03
301
原创 小周猪猪De算法模板
1. 图论算法1.1 tarjan算法1.1.1 割点算法#include <bits/stdc++.h>using namespace std;const int N = 2e5;int n, cnt, root, m, res;int low[N], dfn[N], cut[N];vector < int > a[N];int read(void){ int s = 0, w = 0; char c = getchar(); while (!isdi
2020-11-05 13:51:34
290
原创 『最短路·裴蜀定理』CF510D Fox And Jumping
Problem\mathrm{Problem}Problem给出 nnn 张卡片,分别有 lil_ili 和 cic_ici。在一条无限长的纸带上,你可以选择花 cic_ici 的钱来购买卡片 iii,从此以后可以向左或向右跳 lil_ili 个单位。问你至少花多少元钱才能够跳到纸带上全部位置。若不行,输出 −1-1−1。Solution\mathrm{Solution}Solution若对于数字 aaa 和数字 bbb ,根据裴蜀定理,方程ax+by=c(gcd(a,b)∣c)ax+b
2020-11-03 10:04:01
286
原创 『博弈』卡其脱离太
Problem\mathrm{Problem}Problem题意简述:有 nnn 堆石子,第 iii 堆石子有 aia_iai 个。两人轮流取石子,每人一轮只能取一个石子,且不能取对手刚取过的那堆石子中的石子,无法取的一方失败,两方采取最优策略,问谁会获胜。Solution\mathrm{Solution}Solution若存在maxai>0.5∑ai\max_{a_i} > 0.5\sum a_imaxai>0.5∑ai,则先手必胜。我们考虑不存在上述情况的答案。当
2020-11-01 16:33:04
263
原创 『树的直径变形』伐木工人
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution这道题转化为在树上找到一条路径,使得去掉路径后其它连通块 ≥k\ge k≥k 的数量最大。如果这条链的两端具有祖先关系,那么我们可以直接用树形DP来解决。设 fif_ifi 表示节点 iii 延展下去的某一条路径中,贡献的最大值。fi=max{fy−[sizey≥K]+∑t∈son(x)t≠y[sizey≥K]}f_i=\max \{ f_y - [\mat
2020-10-19 20:40:33
404
原创 蔡勒公式关于日期的计算
公式内容计算 yyy 年 mmm 月 ddd 日是星期几。设为星期 www (星期天则 w=0w=0w=0)。d+2m+⌊3(m+1)5⌋+y+⌊y4⌋−y100d+2m+\lfloor \frac{3(m+1)}{5} \rfloor+y+\lfloor \frac{y}{4} \rfloor -\frac{y}{100}d+2m+⌊53(m+1)⌋+y+⌊4y⌋−100y...
2020-10-07 21:41:51
341
原创 『数学期望』抛硬币
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution设 fif_ifi 表示 iii 个硬币的期望步数,则有:fi=p(fi−1+1)+(1−p)(fi−1+fi+1)f_i={p(f_{i-1}+1)+(1-p)(f_{i-1}+f_i+1)}fi=p(fi−1+1)+(1−p)(fi−1+fi+1)则有:fi=∏i=1k1/pkf_i=\prod_{i=1}^{k} 1/p^kfi=i=1∏k1/pkC
2020-10-06 21:37:40
1365
原创 『树上逆序对』深度优先搜索
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution对于一棵树,我们考虑新添加的边。显然添加的边只有祖先关系,如果没有祖先关系必然会从某一叉经过这条边,那么这条边会在Dfs的过程被遍历到、成为树边。对于存在祖先关系的边,若存在一条非树边,对于 www 是 vvv 的子节点,则必然有aw>ava_w>a_vaw>av。如下图所示:现在,我们就将问题转化为除根节点外,每个数的子树有几个节点比它大,这
2020-10-05 20:43:16
522
原创 『超简单的状压DP』小绿与小蓝-城堡
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution只要对每一个经过的路径求最大的边权和就可以了,假设你已经知道的点集是什么。然后用状态 f[S][i]f[S][i]f[S][i] 表示经过的点集为 SSS,结尾的点为 iii 的边权最大值。答案为:∑x∈Sai/f[S][i]\sum_{x∈S}a_i/f[S][i]x∈S∑ai/f[S][i]Code\mathrm{Code}Code#include <
2020-10-05 11:08:33
422
原创 【第二十四届全国青少年信息学奥林匹克联赛】NOIP2018普及组初赛试题解析(C++语言)
第二十四届全国青少年信息学奥林匹克联赛普及组初赛试题解析与答案
2020-10-04 10:57:24
15112
12
原创 初赛De各种各样的知识点
C A C A C :A BB D D D BB C B A B√ × × × D C√ × D C B A× √ × √ D CB A C C A:AA C D A A B :D D ACAD是画图软件,BCD类似 选A选B。
2020-10-02 19:25:17
1692
1
原创 『并查集ST表』[SCOI2016]萌萌哒
Problem\mathrm{Problem}Problem一个长度为 nnn 的大数,用 S1S2S3⋯SnS_1S_2S_3 \cdots S_nS1S2S3⋯Sn表示,其中 SiS_iSi 表示数的第 iii 位, S1S_1S1 是数的最高位。告诉你一些限制条件,每个条件表示为四个数,l1,r1,l2,r2l_1,r_1,l_2,r_2l1,r1,l2,r2,即两个长度相同的区间,表示子串Sl1Sl1+1Sl1+2⋯Sr1S_{l_1}S_{l_1+1}S_{l_1+2} \c
2020-09-25 20:17:21
359
原创 『带修改莫队』数颜色
题目描述墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问。墨墨会像你发布如下指令:111、 QQQ LLL RRR代表询问你从第LLL支画笔到第RRR支画笔中共有几种不同颜色的画笔。222、 RRR PPP ColColCol 把第PPP支画笔替换为颜色ColColCol。为了满足墨墨的要求,你知道你需要干什么了吗?题解如果没有修改操作,就是莫队的...
2020-09-23 20:38:06
293
原创 『贪心·二分答案』排序
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution这道题有一个很神奇的性质:交换操作与操作顺序无关。这意味着,我们形如 ababab...ababab...ababab... 的操作顺序可以改变成形如 aaabbb...aaabbb...aaabbb... 的顺序。考虑证明:若有交换操作 (a,b)(a,b)(a,b) 和 (c,d) (a<b,c<d)(c,d)\ (a<b,c<d)(
2020-09-22 21:39:02
447
原创 『贪心』BZOJ2034 [2009国家集训队]最大收益
Problem\mathrm{Problem}Problem给出 NNN 件单位时间任务,对于第 iii 件任务,如果要完成该任务,需要占用 [Si,Ti][S_i, T_i][Si,Ti] 间的某个时刻,且完成后会有 ViV_iVi 的收益。求最大收益。N≤5000,1≤Si≤Ti≤108,1≤Vi≤108。N≤5000,1 ≤ S_i ≤ T_i ≤ 10^8,1 ≤ V_i ≤ 10^8。N≤5000,1≤Si≤Ti≤108,1≤Vi≤108。澄清:一个时刻只能做一件任务,做一个任务
2020-09-22 10:06:27
288
原创 『期望·贪心』CF605E Intergalaxy Trips
Problem\mathrm{Problem}Problemnnn 个点的有向完全图。i→ji \to ji→j 的边每天出现的概率均为 pi,jp_{i,j}pi,j,若 i=ji = ji=j,有 pi,j=1p_{i,j} = 1pi,j=1。每天选择一条存在的出边走过去。求最优策略下从 111 到 nnn 的期望天数。n≤103n \le 10^3n≤103。Solution\mathrm{Solution}Solution搞了一天的期望神题我们设 ExE_xEx 表示节
2020-09-21 19:01:38
227
原创 『容斥』51nod 1407 与与与与
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution这道题的方向不是O(n)O(n)O(n),而是 O(v)O(v)O(v)。我们发现答案为:全集 −and-\mathrm{and}−and有至少 111 位 000 的 +and+\mathrm{and}+and 后有至少 222 位 000 的…因此我们可以根据一个数字 and\mathrm{and}and 操作后的位数来确定容斥系数。考虑 and\mathrm{an
2020-09-19 21:29:37
204
原创 『缩点·树的直径』CF734E Anton and Tree
Problem\mathrm{Problem}Problem给一棵n(n≤200000)n(n\le 200000)n(n≤200000)个节点的树,每个点为黑色或白色。一次操作可以使一个相同颜色的连通块变成另一种颜色。求使整棵树变成一种颜色的最少操作数。Solution\mathrm{Solution}Solution使用并查集缩点,使得任意相邻的两点颜色都不一样。可以证明,从树的直径的终点开始染色一定是最优的。其中 L3L_3L3 是直径上的最后一段,显然有L1,2≤L3L_{1,2
2020-09-18 16:25:26
167
原创 『边双连通分量·树上差分』CF555E Case of Computer Network
Problem\mathrm{Problem}Problem给定一张 nnn 个点 mmm 条边的无向图。给定 qqq 组有向点对 (s,t)(s, t)(s,t)。询问是否存在使得所有 sss 都能到达 ttt 的无向图中每条边的定向方案。n,m,q≤2×105n,m,q \le 2 \times 10^5n,m,q≤2×105。Solution\mathrm{Solution}Solution如果形态是一棵树:我们可以对每一条路径进行两个属性的差分:那么某一个边同时
2020-09-17 20:28:28
310
原创 『二分·贪心』打字机
Problem\mathrm{Problem}ProblemSolution\mathrm{Solution}Solution怀疑是CF题,因为题目真的太优美了首先我们需要观察到一个性质:栈中的元素序列一定形如 ABCABCA...\mathrm{ABCABCA...}ABCABCA... 的形式。我们令添加为 222 贡献,弹出为 000 贡献。假设前面出现为 ABABAB,你需要在栈中添加元素 AAA :一定是把 BBB 弹出。若直接添加贡献是 333 ,若删掉 BBB 在做贡献一定 ≤
2020-09-17 10:00:23
125
原创 『trie·贪心』CF888G Xor-MST
Problem\mathrm{Problem}Problem给定 nnn 个结点的无向完全图。每个点有一个点权为 aia_iai。连接 iii 号结点和 jjj 号结点的边的边权为 ai⊕aja_i\oplus a_jai⊕aj。求这个图的 MST 的权值。1≤n≤2×1051\le n\le 2\times 10^51≤n≤2×105,0≤ai≤2300\le a_i \le 2^{30}0≤ai≤230。Solution\mathrm{Solution}Solution这道题首
2020-09-16 14:47:27
213
1
原创 『算法略解』最小生成树的Boruvka算法
Problem\mathrm{Problem}Problem如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出 orz。Solution\mathrm{Solution}Solution假设图中有若干个连通块:我们每一次都枚举每一个连通块,找到与该连通块相连的最小边。完成上述操作以后枚举每一个连通块,合并最小边两端且包含该连通块的节点。初始地,每一个节点都是一个连通块。这一步是找与每一个连通块相连的最小值。这一步是合并。Code\mathrm{Code}Code#i
2020-09-15 21:39:06
601
5
原创 『贪心·动态规划』有丝分裂
Code\mathrm{Code}Code#include <bits/stdc++.h>using namespace std;const int N = 10000;int n, res, m1, m2;int a[N], f[N], g[N], u[N], v[N], res1[N], res2[N];int read(void){ int s = 0, w = 0; char c = getchar(); while (!isdigit(c)) w |= c ==
2020-09-05 21:44:52
278
原创 『博弈·逆序对』BZOJ4975 区间翻转
Problem\mathrm{Problem}Problem小Q和tangjz正在一个长度为n的序列 a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an 上玩一个有趣的关于区间翻转的游戏。小Q和tangjz轮流行动,小Q先手。每次行动方玩家需要选择一个长度为 4x+24x+24x+2 或 4x+34x+34x+3 的区间[l,r](1≤l≤r≤n)[l,r](1\le l\le r\le n)[l,r](1≤l≤r≤n),其中xxx是该玩家自行选择的非负整数,然后将al
2020-09-05 20:24:50
962
原创 『期望』CF846F Random Query
Problem\mathrm{Problem}Problem给定长度为 nnn 的序列 aaa。您要随机地选取两个数 l,r∈[1,n]l,r\in [1,n]l,r∈[1,n],如果 l>rl>rl>r,则交换 l,rl,rl,r。求 al∼ara_l\sim a_ral∼ar 中不同数字个数的期望。1≤n≤1061\le n\le 10^61≤n≤106,1≤ai≤1061\le a_i\le 10^61≤ai≤106。答案被认为是正确的当且仅当 min(∣x−y∣,∣x
2020-09-05 16:28:34
246
原创 『容斥·状压』CF449D Jzzhu and Numbers
Problem\mathrm{Problem}Problem给出一个长度为n的序列a1,a2...ana_1,a_2...a_na1,a2...an。求构造出一个序列i1≤i2≤...≤ik(1≤k≤n)i_1 \le i_2 \le ... \le i_k(1\le{k}\le{n})i1≤i2≤...≤ik(1≤k≤n)使得ai1 and ai2 and ... and aik=0a_{i_1}\mathrm{\ and\ }a
2020-09-05 15:47:08
351
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人