自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(428)
  • 收藏
  • 关注

原创 初赛复习小笔记

初赛复习小笔记原码,反码,补码所谓原码就是二进制定点表示法,即最高位为符号位,"0"表示正,"1"表示负,其余位表示数值的大小。正数的原码=反码=补码负数的反码是对正数逐位取反,符号位保持为1.补码等于一个负数的反码+1编译性 & 解释性编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言就不用再进行翻译了。例如:C/C++解释型语言,是在运行的时候将程序翻译成机器语言,例如:Java,C#等都是解释型语言。各种协议FTP 文件传输协议UDP 用户数据报协议

2021-08-16 16:08:08 175

原创 各种有用的版版

各种有用的版版快读int read() { int x=0; char c=getchar(); while (c<'0'||c>'9') c=getchar(); while (c>='0'&&c<='9') { x=x*10+c-'0'; c=getchar(); } return x;}快速幂long long ksm(long long a,long lo

2020-10-31 15:07:36 263

原创 未完成的小东西

未完成博客松中提高组模拟赛 8.23 的三题LCA未完成的题松中提高组模拟赛 8.24 未改的两题松中集训总结题目洛谷 P6374洛谷 P3398洛谷 P2880SSL 2873知识点RMQ未学会线段树、树状数组、树形DP需复习...

2020-08-24 16:50:58 131

原创 【洛谷】【二分】最长公共子序列

当b[i]这个数在a中的位置在m[len]后面,可以直接加入。如果在前面,可以优化m数组,替换掉位置在其后面的。主要思路就是开数组将第一个序列的数位置存下来。然后开m数组存最长公共子序列,len存长度。正确性易证,不影响长度,也会让解更优。

2023-04-08 17:03:20 262 1

原创 【ybtoj】【线性基】k小异或和

求解过程:假如二进制数k的第i位为1,ans就异或上线性基中第i大的元素,ans即为所求。三大性质:1.原集合里的任何数都可以用线性基中某些数的异或和表示。否则x异或上d[i](保证d[i]第i位为1,且是最高位)如果x的第i位是1且d[i]位为空,x成功加入线性基。具体为,枚举d[i],若第j位为1,则异或上d[j]3.线性基的大小只与原集合有关,大小固定且最小。逐一枚举集合中的元素,并尝试加入线性基。2.线性基中任意数的异或和不等于0。对于本题,还需对线性基做处理。最后还是原集合的线性基。

2023-02-06 16:26:57 642

原创 【校内模拟】【状压DP】number

第一次听说变进制状压先统计每个数字出现过的次数然后用1~a[0]表示选了“0”的个数,一个“1”用a[0]+1,两个“1”用a[1]*2+1,以此类推然后用一个数组g统计每种状态选了多少个数字f[i][k]表示在i这种选法下,余数为k。...

2022-08-18 08:30:59 266

原创 【校内模拟8.5】【搜索】A

这个题跟纪中的火炬手还挺像的不过本题搜索的是在后面添0/1能到达什么新状态(就是余数,如果两个数mod n余数相同,显然只需要保留小的那个)

2022-08-06 14:39:17 84

原创 【gmoj】【动态规划】投票

最后统计答案时,枚举前面选了i个,且有j个为好的。f[i][j]表示选了前i个,有j个为好的。g[i][j]表示选了后i个,有j个为好的。可以证明选的人一定是排序后两端的人。

2022-08-05 07:38:42 247

原创 【gmoj】【动态规划】超级教主

那肯定是上一次跳到的地方越矮越好(因为花费少,且这次获得的能量更多)可以发现f一定是单调不下降的(不然就跳不到n了)设f[i]为跳到i时,剩余的能量值。

2022-08-04 21:41:46 97

原创 【gmoj】旅行

若i-1,i,i+1不是呈单调不下降或单调不上升,i比两边高,就将i降到max(i-1,i+1),i比两边低,则降到min(i-1,i+1)

2022-08-04 21:23:25 94

原创 【gmoj】【二分图】最大收益

可以定义每个任务的活跃点,也就是做完前i个任务,且大于第i个任务时间左边界的时间点。然后按权值排序从大到小,任务匹配活跃点,类似二分图。按时间左边界从小到大排序,求出活跃点。...

2022-08-04 20:51:06 227

原创 【gmoj】【最小生成树】间谍派遣

出任务费用最小的肯定出(设A的出任务费用较小,A→B,让B出,B→A,让A出,传递等价,所以A出更优)因为所有的信息都要获得,说明构成一个连通图,即跑最小生成树(我用的prim)

2022-08-04 20:19:51 61

原创 【gmoj】【线段树】矮人排队

暴力想法就是判断编号A~B的小矮人位置最大值减最小值是否等于B-A。想到查询位置时可以用线段树优化。但是时间复杂度达到O(NM)

2022-08-04 19:58:15 61

原创 【动态规划】美妙的歌声

设f[i][0/1]为唱到第i位,结尾为0/1(da为0,do为1)枚举上一段最后的位置,其答案*2的中间s个数次方的累加和为结果

2022-07-02 11:15:46 105

原创 【博弈】取数游戏

先求出前面升序的长度以及后面升序的长度如果两个都是奇数,那就选大的那边,另一边就不能选了,剩下偶数个,先手赢如果其中一个是奇数,选奇数那边,剩下偶数个不管后手怎么选,先手都可以一直选奇数给后手留偶数,先手赢如果两个都是偶数,奇数就留给后手了,先手输所以只要有一个是奇数,先手就能赢...

2022-07-02 09:40:55 1040

原创 【动态规划】书本整理

设f[i][j]为选到第i本书从中拿掉了j本(第i本选了)枚举上一次选的是第几本,然后加上其与第i本宽度的差,最小的即为f[i][j]的值因为f[i][j]第i本是选了的,所以统计答案时,因取f[n-i][k-i]的最小值(0...

2022-07-02 09:22:20 101

原创 【双指针】谁会赢

先想到排序后,枚举两个数,然后二分查找tm的差是否在队列中接着进一步想到,固定一个和,然后从小到大枚其中一个加数,会发现另一个加数是从大到小变化的

2022-07-02 09:01:04 55

原创 【字符串】数字积木

嗯,一眼就知道是比大小但是两个长度不一样的字符串且前面一样的话谁在前面呢 哈哈,做了些诡异操作,没做对然后可以想到组合起来比较设两个字符串为a,b如果ab比ba小,那就交换

2022-07-01 18:11:20 75

原创 【字符串】粗心的约翰

一开始想从前往后做,匹配到一样的字母后判断中间的字母是否能被删掉很贪心的做法,且不一定要跟找到的第一个匹配,然后就不会了正解应该是从后往前做,因为后面不要的一定要删掉,所以匹配不上就往前跳两个(一个退格键,一个被ta删掉)最后判断是否全部被匹配上有一个小细节就是如果两个字符串的长度差是奇数时,第一个一定要被删除...

2022-06-30 11:21:07 97

原创 【2020 特长生】星座图

哈哈,我一直在想确定一个点,走两步,怎么搞确定一个点,ta的子节点间构成合法星座在统计子节点时,顺带求出最大值和次大值,相乘与最终答案比较求和时,直接累加所有子节点与ta的距离sum,然后自己乘sum-自己...

2022-06-12 15:39:13 70

原创 【2017 特长生】【DP】 摆渡线路

一般来说,这种圆的题都要拆成串来做由题意得,没有交叉部分的线段,在圆中可以同时保留可以想到区间DP枚举区间长度,然后枚举中点以这个区间边界为端点的线段肯定是保留的,记得加上...

2022-06-12 15:02:37 74

原创 【2017 特长生】【DFS】益智游戏

先全排列再枚举符号就是一个区间劈开成两个操作再合并

2022-06-11 21:59:22 257

原创 【2016 特长生】【DP】子串距离

两个字母匹配时,有两种情况:· 两个字母匹配· 其中一个与字母匹配设f[i][j]为a串的前i个字母与b串前j个字母的最小距离f[i][j]=min(min(f[i-1][j],f[i][j-1]),f[i-1][j-1+abs(s[i]-z[jj)

2022-06-11 21:14:11 87

原创 【2013特长生】【DP】数字编码

一开始木有解题思路,弃题从题目中我们得到每一段的贡献值为个数*最长二进制+12设f[i]为前i个数字的最小编码位数枚举j,j+1~i为新的一段编码f[i]=min(f[j]+(i-j)*max)最后记得+12

2022-06-11 21:06:24 63

原创 【洛谷 P4086】【暴力】 My Cow Ate My Homework S

传送门 P4086因为吃掉的一定是前k道我们可以从后往前做就可以累积到tm的和,以及最小值,由此得出平均值PS.不止一个输出时要升序 我以为只有一个,😄

2022-06-11 20:49:33 120

原创 【校内测】千纸鹤

【校内测】千纸鹤题目原题来自:CF解题思路其实暴力模拟操作是有70的但是我当时懒得想,然后没打。。。翻折次数越多,长度就会越多要解决的就是如果对折点超过长度的一半,时间花费太多可以转变为翻转后再翻折,那折的长度就变短了打标价是否翻转了,确定当前的翻折点PS 数组存的是区间,而不是坐标,例x=3,那么应该是将3翻到4那程序#include<iostream>#include<cstring> #include<cstdio>using

2022-05-21 16:02:22 101 1

原创 【洛谷 P1441】 【状压】 砝码称重

【洛谷 P1441】 【状压】 砝码称重题目解题思路用二进制表示选了哪些砝码用bitset统计有多少种质量可称量代码#include<iostream>#include<cstdio>#include<bitset> using namespace std;bitset<2001> s; //类似数组,但只能存0或1 int n,m,z,a[30],ans,w[3000100];int main(){ scanf("%d%d

2022-05-04 11:52:05 158

原创 【51nod】【期望和概率】 超级购物

【51nod】【期望和概率】 超级购物题目解题思路这题涉及一个概念叫条件概率,p(A|B)意为在B的条件下发生A在这题中B既是有r个人购物A为第i个人购物代码#include<iostream>#include<cstring>#include<cstdio>using namespace std;double f[25][25],p[25],pb;int n,r;double solve(int w){ f[0][0]=1; f

2022-05-03 20:56:03 456

原创 【51nod】【概率和期望】绑鞋带

【51nod】【概率和期望】绑鞋带题目解题思路题目要求只有一个环,假设已连接成一条绳,包括前i-1条鞋带那么第i(i!=n)条鞋带不能首尾相接,也不能和已经在绳里的鞋带相接,不然就成环了得到式子:2n-2i-2/2n-2i-1注意一下不用做最后一条鞋带的,不然会乘0代码#include<iostream>#include<cstdio>using namespace std;int n;double ans=1;int main(){ sca

2022-05-03 20:27:04 253

原创 【洛谷 P1297】[国家集训队]单选错位

【洛谷 P1297】[国家集训队]单选错位题目解题思路在填错位的情况下,想要正确,说明两题答案一样第i题有ai个选项,第j题有aj个选项得到式子式子可以被化简代码#include<iostream>#include<cstdio>using namespace std;int n,A,B,C,a[10000010];double ans;int main(){ scanf("%d%d%d%d%d", &n, &A, &B

2022-05-03 19:48:13 183

原创 【51nod】【数学】最大的最大公约数

【51nod】【数学】最大的最大公约数题目解题思路ai的值挺小的可以外层从小到大枚举答案然后里层枚举其倍数,看是否在数列中出现过2次及以上若能找到,即为答案代码#include<algorithm>#include<iostream>#include<cstdio>using namespace std;int n,a[50010];int main(){ scanf("%d",&n); for (int i=1;i<=n

2022-02-26 15:37:42 133

原创 【洛谷 P5495】【数学】Dirichlet 前缀和

【洛谷 P5495】【数学】Dirichlet 前缀和题目解题思路如果求出每一个数的因子然后累加必定TLE可以先用埃氏筛求出质数然后质数x对其的倍数y,a[y]+=a[y/x]因为是从小到大,累加过去的,就能累加到所有除x的因子的数代码#include<iostream>#include<cstdio>using namespace std;#define uint unsigned intbool vis[20000100];int n,t;ui

2022-02-26 09:53:17 94

原创 【洛谷 P5253】【数学】 丢番图

【洛谷 P5253】【数学】 丢番图题目解题思路讨厌数学题qwq原式通分后为了因式分解,变形一下十字相乘后得其实就变成了求n2的因子个数/2向上取整用分解质因数的方法求出n2的因子个数代码#include<iostream>#include<cstdio>using namespace std;long long n;int t,ans=1;int main(){ scanf("%lld",&n); for (int i=

2022-02-26 09:24:01 162

原创 【金牌导航】【欧拉函数】整数个数

【金牌导航】【欧拉函数】整数个数题目解题思路由1得:所以我们要求与n互质的数的个数由2得:要求n的因子个数3则规定了求的范围最后用n减去它们即可代码#include<iostream>#include<cstdio>using namespace std;int n,t,phi,tot=1,num[50000];int main(){ scanf("%d",&n); phi=n; int x=n; for (int i=2;1ll*i*i

2022-02-17 11:58:35 414

原创 【金牌导航】【洛谷 P4305】【高斯消元】球形空间产生器

【金牌导航】【洛谷 P4305】【高斯消元】球形空间产生器题目解题思路因为所有点到球心的距离相等得:(a-x1)2+(b-x2)2+(c-x3)2=(a1-x1)2+(b1-x2)2+(c1-x3)2将式子拆开得到 2*(a-a1+b-b1+c-c1)=a2-a12+b2-b12+c2-c12然后运用高斯消元求得方程解即可代码#include<iostream>#include<cstdio>#include<cmath>using name

2022-02-17 10:34:49 394

原创 【金牌导航】【洛谷 P4570】【线性基】【贪心】元素

【金牌导航】【洛谷 P4570】【线性基】【贪心】元素题目解题思路线性基线性基是所含元素最少的集合,满足原集合里的数都能由线性基里的一些数异或表示线性基的性质:1 原集合里任何数都可以用线性基中某些数的异或表示2 线性基中任意异或和不等于03 线性基的大小只与原集合的大小有关,根据性质1,说明线性基元素个数总是小等于原集合元素个数,所以线性基的个数是固定且最小的本题用贪心,先将各矿石按价值从大到小排序然后依次尝试加入线性基,如果能被表示,退出线性基中一个数放当前数,显然答案更劣

2022-02-16 16:58:18 499

原创 【金牌导航】【暴力】区间不同树

【金牌导航】【暴力】区间不同树题目解题思路对不起,本来应该打莫队的结果暴力过了。。。代码#include<iostream>#include<cstdio>using namespace std;struct lzf{ int x,y,id;}f[100010];int n,m,ans,a[100000],b[100000],cnt[100000];bool cmp(lzf l,lzf y){ if (l.x!=y.x) return l.x&

2022-02-15 10:43:47 194

原创 【金牌导航】【洛谷 P3201】【启发式合并】梦幻布丁

【金牌导航】【洛谷 P3201】【启发式合并】梦幻布丁题目解题思路启发式合并真的就是想到挺难的,想到后简单得很如何判断有几段还是很容易的,如果和前一个布丁颜色不同,段数+1将每一种颜色看作一条链改变颜色可以看作将两条链合并为了时间更优,肯定是要将数量少的合并到多的所以要记录原来的颜色x当前是颜色b[x]如果改颜色后与前面或后面颜色相同,段数-1合并后要及时更新颜色的数量代码#include<iostream>#include<cstdio>usin

2022-02-15 10:33:02 233

原创 【金牌导航】【凸包】凸包面积

【金牌导航】【凸包】凸包面积题目解题思路凸包模板题将凸包上的点求出来,然后用叉积求面积即可(多边形的面积可以看成由很多个三角形组成,叉积的正负形会抵消掉重复的部分,最后面积要取绝对值)没学过的可以看这个代码#include<algorithm>#include<iostream>#include<cstdio>#include<cmath>using namespace std;struct lzf{ int x,y;}a[

2022-02-15 10:18:39 323

原创 【金牌导航】【洛谷 P2634】【点分治】聪聪可可

【金牌导航】【洛谷 P2634】【点分治】聪聪可可题目解题思路用点分治,缩小规模解决问题因为要距离能整除3把边距和维护的d都存距离mod 3的值就可以了代码#include<iostream>#include<cstdio>using namespace std;struct lzf{ int to,w,nxt;}f[50000];bool vis[50000];int n,t,u,v,w,ans,q[50000],p[5],fa[50000];

2022-02-13 10:11:27 270

空空如也

空空如也

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

TA关注的人

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