自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(206)
  • 资源 (9)
  • 问答 (1)
  • 收藏
  • 关注

原创 2021-2022学习记录

日期项目知识点备注2021-1-19Codeforces Round #696 (Div. 2)比赛(#1770 3/5)2021-1-20cf-1474-D. Cleaning

2021-01-22 10:09:55 357

原创 模板总结2.0

重新开一个模板总结,更多地采用面向对象思想,模块化的感觉更强一些。并查集class UnionFind {public: vector<int> parent; vector<int> size; int setCount; public: uniFind(int _n): n(_n), setCount(_n), parent(_n), size(_n,1) { iota(parent.begin(),parent.end(),0); //区间赋值 }

2021-01-22 10:06:58 203 1

原创 坑_____经验总结2.0

进入大学啦,重新开一个经验总结,不只是竞赛内容了,平时写代码想到注意的事项也放上来吧。有些题目注意按要求取模。有一个很隐蔽,往往容易忘记取模的地方,就是最后处理答案的时候。例(点击进入该题):ans=ksm(2,N); ans-=ss;前面白来行算法处处记得取模,结果最后这里没去取模,导致当时我WA了几发……应该是这样才对:ans=ksm(2,N); ans-=ss; ans=(ans%Ha+Ha)%Ha;...

2020-12-26 16:59:37 97

原创 模板总结

为每次网络赛做好准备……//二分for (l=0,r=Max,mid=l+r>>1; l<=r; mid=l+r>>1){ if (check()){r=mid-1; continue;} l=mid+1;}// 建图#define Add(x,y) (to[++num]=head[x],head[x]=num,V[num]=y)#define For(x) for(int

2017-10-23 22:35:37 260

原创 【2023牛客多校6】H traffic (思维 斜率)

连通图,边比点多一,那就是有两个环,每个时刻要做的就是删掉两条边消掉这两个环。两种情况,要么是不共边的两个环,要么是共边的两个环。要做的就是计算不同横坐标下一堆直线的最大值。可以用李超树,也可以用单调栈。

2023-08-05 12:50:20 229

原创 H. Excluded Min (思维、线段树)

简而言之,学会了一种套路,求一些线段中选出不被任何一个线段完全覆盖的所有线段,支持删除线段操作。写了一坨答辩代码,已经神志不清了,后面再补上思路吧,先给上题解的描述还有草稿纸上一些图。

2022-11-25 13:49:48 371 1

原创 J. Counting Trees (树,卡特兰数)

大意就是,规定一棵二叉树,每个节点的值都大于等于其父节点的值。给出一个中序遍历值序列,问有多少棵这样的树满足其中序遍历是这个。节点数范围 1e6,节点值范围 1e6。

2022-09-04 14:30:32 513

原创 【2022 CCPC 华为云计算挑战赛】1007 三角函数 (数论)

数论

2022-08-21 16:19:40 621

原创 kuangbin 斜率优化题单 代码

题单链接推荐:1,2,5。

2022-08-15 17:00:10 149

原创 【2022牛客多校9】I-The Great Wall II (dp, 单调栈, 思维)

【2022牛客多校9】I-The Great Wall II (dp, 单调栈, 思维)

2022-08-15 16:57:57 239

原创 【2022牛客多校4】A-Task Computing (数学,dp)

【2022牛客多校4】A-TaskComputing(数学,dp)

2022-07-30 17:06:52 171

原创 【2022牛客多校3】A-Ancestor (LCA)

...

2022-07-25 17:52:53 206

原创 B. Balance of the Force (思维)

https://codeforces.com/gym/102055/problem/B样例

2022-07-13 17:11:31 166

原创 kuangbin 线段树题单 代码

题单链接https://vjudge.net/article/752

2022-07-12 11:39:30 203

原创 F. Points (线段树)

https://codeforces.com/contest/1701/problem/F样例思路这里有官方题解https://codeforces.com/blog/entry/104671时间复杂度,每个询问都是几个查询修改,所以是 O(q*Log)。线段树最大线段长度是 a[i] 的最大值,即 200000。......

2022-07-11 11:25:57 255

原创 J. Straight Master (差分)

https://codeforces.com/gym/101775/problem/J

2022-07-11 08:51:35 200

原创 H. AND = OR (线段树,思维)

https://codeforces.com/gym/103102/problem/H

2022-07-06 16:31:03 194

原创 D. Evolution of Weasels (思维,字符串,代数)

题目https://codeforces.com/contest/1662/problem/D大意:字典为 {A,B,C},给两个字符串u, v,问能不能通过增减{AA, BB, CC, ABAB, BCBC}的操作,将 u 变成 v。思路一开始,我们发现了 ABA, CBC 可以和 B 互相变;BAB 可以和 A 互相变;BCB 可以和 C 互相变。于是写了个不断删 AA, BB, CC, 替换 ABA, CBC, BAB, BCB 的代码,结果假了。然后就想,好像 A 和 C 看起来很对称

2022-04-29 07:59:05 252

原创 第46屆ICPC亚洲区域赛(昆明)G.Glass Bead Game(数学)

题目https://ac.nowcoder.com/acm/contest/32708/G思路直接看每个数对 (i, j) 的贡献:只有当后面那个数被选到,并往前跨了,才有一个贡献。因为 m 足够大,所以第 m 次开始之前,i 在 j 前面的概率是 a[i]/(ai+aj),在后面的概率是 aj/(ai+aj),然后这一对的贡献就是 aj*(ai/(ai+aj)) + ai*(aj/(ai+aj))总的答案就是两倍的 sum ai*aj/(ai+aj)代码#include <cstd

2022-04-17 17:41:05 1319 5

原创 2022namo div1 删数 (差分)

题目http://oj.daimayuan.top/course/10/problem/703思路差分数组出来后,就变成了合并相邻项。dp做。令 f[i][t] = x 代表原差分数组第 i 项往左合并合并到和为 t 时,到第几项。t因为范围较大,开个map。总的时间复杂度 n*log(*log ?)。代码// http://oj.daimayuan.top/course/10/problem/703#include <bits/stdc++.h>using names

2022-04-04 10:33:42 352

原创 2022namo div1 平方计数 (数论)

题目http://oj.daimayuan.top/course/10/problem/607分析a^2+b=c^2b =(c+a)(c-a) =(x+2a)(x)对每个数b,枚举约束 x,检查是否存在对应的a即可。一百万以内的数,最大约数个数是240。代码// http://oj.daimayuan.top/course/10/problem/607#include <bits/stdc++.h>using namespace std;const int MAX

2022-03-21 11:34:35 416

原创 D. Cross the Maze (网络流)

题目https://codeforces.com/gym/103427/problem/D大意:给一个 a*b 的地图,有 n 个人和 n 个出口。出口只能用一次,人到了出口可以选择不出去。每次人可以LRUDS(不动)P(在出口或已经出去了才有这个,代表出去)五种操作(都是瞬移)。每个时刻每个位置只能有一个人。问 n 个人全出去的最少时间以及给出一种方案。思路注意数据都是100级别的。首先,肯定有解,且不大于 a*b。因为可以把地图按贪吃蛇那样展开成一条线,然后一次分配出口即可。那么,就可以先

2022-03-13 22:47:42 912

原创 Codeforces Round #772 (Div. 2)

A. Min Or Sum(https://codeforces.com/contest/1635/problem/A)[https://codeforces.com/contest/1635/problem/A]无限次操作,那就是最后剩一个数,其他都是0。#include <bits/stdc++.h>using namespace std;int n;long long a[200];void solve(){ scanf("%d",&n);

2022-02-21 17:54:18 217

原创 D. Big Brush (思维,搜索)

题目https://codeforces.com/contest/1638/problem/D大致题意就是:给一个 nm 的网格,要求用 22 的刷子刷最多 n*m 次将它刷成目标颜色状态。若不能则输出 -1.。思路逆时过来想:从最后一刷开始,那肯定是完整的 22 的同色田字A。那么紧贴着这个 22 的最后一次刷田字B,就应该满足除了原来A中的色块,其他色块颜色相同,以此类推,紧贴着 A,B 的最后一次刷田字 C ,就应该除了AB刷过的块,其他色块颜色相同……那么就有了一个刷法:起初,先把图案中

2022-02-15 08:57:41 461 4

原创 E. Fair Share (思维,欧拉回路)

题目https://codeforces.com/contest/1634/problem/E题意大概:给出 m 个偶数长度的数字串,要你把全部数字分到两个集合(L, R)中,使得每个串中一半数字在L,另一半在 R,且最终两个集合成分相同。若可以构造,要给出一种构造;若无法构造,则输出NO。思路https://codeforces.com/blog/entry/99563看了题解做的。题解很巧妙地把这个问题转化为了图论问题,求欧拉环。先看看怎样会无解:若所有数列算在一起,某个数字只出现了奇数

2022-02-08 17:06:19 691

原创 斜率优化几道题

1https://codeforces.com/contest/713/problem/C#include <bits/stdc++.h>using namespace std;const int MAXN = 3005;const long long INF = 1e14;int n;long long a[MAXN];long long b[MAXN];long long f[MAXN][MAXN];long long g[MAXN][MAXN];void

2022-01-25 18:46:31 351

原创 C. Divisors of the Divisors of An Integer

题目https://codeforces.com/gym/102040分析可以把 n! 分解质因数,成为 sigma( p[i] ^ a[i] ) 的形式,然后从空开始每次讨论加入一个质因数 p,次数为 a ,设上一次加了之后答案是 tmp,则在 n! 的所有约数中,所有最大质因子恰为 p 的数x的 d 函数和为 (2+3+...+(a+1)) * (1 + tmp),左半部分意思是 x 中 p 的不同次数得到的贡献,右半部分是除了 p 以外其它因子得到的贡献(加一1代表无其他银子)。然后再加上 t

2021-10-12 11:34:04 87

原创 G. Rikka with Intersections of Paths (树上差分)

题目2018-2019 ACM-ICPC, Asia Xuzhou Regional Contest G. Rikka with Intersections of Pathshttps://codeforces.com/gym/102012/problem/H大意就是给一棵 n 个点的树,和其中 m 条简单路径,以及一个数 k 。要你在这 m 个路径中选 k 个,使得这 k 个路径至少包含一个公共点。问有多少种选法。n,m: 1e5k: m多组数据思路考虑对每个点,要是知道通过它的路径数为

2021-10-02 09:57:01 448

原创 Codeforces Round #745 (Div. 2)

A. CQXYM Count Permutationshttps://codeforces.com/contest/1581/problem/A就是 3*3*4*...*(2n)#include <bits/stdc++.h>using namespace std;#define Ha 1000000007long long n;void solve(){ scanf("%lld",&n); long long ret=1; for (int i=3; i&l

2021-09-30 23:52:23 163 4

原创 大整数类代码

#include <cstdio>#include <vector>#include <iostream>using namespace std;namespace NTT { const long long P=998244353; // =119*2^23+1 const long long G=3; vector<int> r; long long qpow(long long x, int k) { int ret

2021-09-27 12:26:13 158

原创 kuangbin题单9-连通图

题单链接:https://vjudge.net/article/752推荐:1,1. POJ-1236 Network of SchoolsTarjan,缩点缩完点后,第一问就是 “入度为零的点” 的个数,第二问就是 “入度为零的点的个数” 与 "出度为零的点的个数"的最大值,因为每次找一个出度为零的点 x,和一个入度为零的点 y,添加一条边 x->y,就各减少了一个点。总可以构造,使得最后变成一个强连通图。参考这篇博文 https://xiaoxiaoh.blog.csdn.ne

2021-09-16 14:03:36 91

原创 Luogu-P3384 【模板】轻重链剖分/树链剖分

学习是看这篇博文学习的。https://www.cnblogs.com/chinhhh/p/7965433.html代码#include <bits/stdc++.h>using namespace std;#define MAXN 100005long long Ha;int n,m,root;vector<int> graph[MAXN];int siz[MAXN];int son[MAXN];int fa[MAXN];int dep[MAXN]

2021-09-14 10:59:07 70

原创 L. Random Permutation (概率,推公式)

题目https://codeforces.com/gym/103119/problem/L分析代码#include <cstdio>int main(){ int n; scanf("%d",&n); double ans=1; for (int i=2; i<=n; i++) { ans=ans*i*(n-i+1)/n; } printf("%.15f\n",ans); return 0;}

2021-09-11 12:00:50 813

原创 A. Accelerator (分治+FFT)

题目https://codeforces.com/gym/103119/problem/A分析https://fanfansann.blog.csdn.net/article/details/118528285这篇博客讲得好清楚了。代码#include <bits/stdc++.h>using namespace std;#define MAXN 100005#define Ha 998244353#define GHa 3long long A_[MAXN<&

2021-09-11 11:52:03 562

原创 H. The Boomsday Project (dp)

题目The 2020 ICPC Asia Shenyang Regional Programming ContestH. The Boomsday Project大意:有一个人总是租单车。每次租车要 r 元。现在已知他将来m天的租车情况(每天要租p[i]辆车)。有 n 种优惠卡,第 i 种卡有个期限 d[i] 天(自买卡那天算起到第 d 天结束),可以免去这些天内的 k[i] 次租车钱,买卡要花 c[i] 元,一旦买了一张新卡,那之前的卡全部立即作废。问最少要花多少钱。n<=500sum§

2021-09-07 12:16:55 688

原创 牛客多校10-D Diameter Counting (图论-求所有包含 n 个(有标记)点的树的直径之和)

题目题意:给一个数 n ,求所有包含 n 个(有标记)点的树的直径之和。分析关于直径,有这样一个求法:要求一个树的直径,可以这样一轮轮删点直到剩下一个点或没有点:每一轮把它所有的叶子节点删掉。这样,删了 x 轮,直径就是 2x 或 2x+1。那么我们反过来,要构造一个直径为 d 的树,也可以一轮轮加:只要每一轮加的点都满足上每个叶子节点上都至少加了一个点,这样每一轮过后直径都加了2(除了往单独一个点上加一个点这种极端情况)。于是就有下面的dp思路。f[i][j] 代表 i 个(有标记

2021-08-20 23:18:22 164

原创 Luogu-T91116 (启发式合并)

题目题意:给一个树,每个边有个权值。一条路径的代价为路径上的边权中的最小值。求一个点,使得其它点到它的路径代价和最大。分析按边权给边排序,然后从大到小依次加入图中,那么每次这个边所连接的两团,相互到达的路径代价就是这个边的权值。用并查集,然后又需要每次对并查集内的所有点加某个数,于是想到可以只给这个集合的代表点加,然后用启发式合并保证时间复杂度。最后按新的有根扫一遍,把每个点的答案(即选这个点的话路径代价和),取最大值即可。关于启发式合并,就是说并查集在查询的时候,不进行路径压缩,在合并的时候,总

2021-08-18 10:27:52 105

原创 牛客多校9-A Math Challenge (类欧+拉格朗日插值+哈希)

题目https://ac.nowcoder.com/acm/contest/11260/A样例inout1 1 1 1 1 131 1 4 5 1 412678 9 3 8 9 38116858011000000000 1000000000 1000000000 50 50 10000000008216229421 1 1 50 50 999999999482598534分析难点两处,一是类欧几里得算法,二是利用拉格朗日插值求下面这个多项

2021-08-16 18:32:42 399

原创 力扣小题集锦

5844. 数组元素的最小非零乘积给你一个正整数 p 。你有一个下标从 1 开始的数组 nums ,这个数组包含范围 [1, 2p - 1] 内所有整数的二进制形式(两端都 包含)。你可以进行以下操作 任意 次:从 nums 中选择两个元素 x 和 y 。选择 x 中的一位与 y 对应位置的位交换。对应位置指的是两个整数 相同位置 的二进制位。比方说,如果 x = 1101 且 y = 0011 ,交换右边数起第 2 位后,我们得到 x = 1111 和 y = 0001 。请你算出进行以

2021-08-15 11:29:26 99

原创 牛客多校9-E (树+LCA+区间维护)

题目题意:给一个有根树,树的每个节点都有个权值,且都不比其父亲权值大。然后有 q(1e5) 个询问,问从点 x 开始,走遍所有与其相连,权值在 [l,r] 以内的点的个数。分析由于这个树权值的性质,对于每个询问,其实可以先从 x 往上跳到最大的小于等于 r 的祖先 F ,然后查询以 F 为根的子树中大于等于 l 的点的个数即可。可以用主席树。但因为是树上的区间值域维护,所以也可以利用 dfs序 ,用一个树状数组就行。时间复杂度 O n lgn代码#include <bits/st

2021-08-14 21:25:19 75

五子棋,源文件&可执行文件

自己写的五子棋,详情见这里https://blog.csdn.net/jackypigpig/article/details/79715275

2018-03-30

录制GIF的小软件

十分方便的一个GIF录制小软件

2017-05-08

自己写的flappy bird~

自己写的flappy bird~

2017-01-26

贪吃蛇——改了几个bug

修改了几个bug

2016-12-31

贪吃蛇(附上源程序和可执行文件)

自己写的贪吃蛇,一个压缩包,里面有c++源程序和dev-c++编译出的可执行文件。 按“8”可以作弊 按“+”可以自己设置地图,此时游戏会暂停,修改好了再继续 具体操作见程序或游戏界面

2016-12-13

一款截图录屏的实用软件

一款挺好用的截图录屏软件,就一个exe文件,功能却很多,录制质量也非常好,可以自动识别窗口! 推荐一下,好用久下载吧!

2016-11-03

吃豆人 c++ 源程序

自己打的,希望喜欢, 有三只小怪物,运动方式不同, 不过大力丸是以自己控制的方式设置的, 按g开启大力丸模式, 请多指教! 使用dev-c++ 5.5.3 编译(一般vs等都能编译)

2016-11-02

一个贪吃蛇的源程序

自己写的c++贪吃蛇,可加速,减速,编辑地图,暂停 可以开启作弊模式(游戏中按8),效果是碰到东西前会停下 具体操作见游戏界面 挺好玩的,希望你们喜欢!

2016-11-02

一个c++的贪吃蛇游戏 源代码

功能挺多 可以调速度,编辑地图,作弊(撞到东西自动停下)(按8作弊), 具体操作见运行界面

2016-11-02

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除