自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python学习笔记

为了打星水杯配合队友摸鱼突击学了一下,主要就是多线程多进程以及装饰器方面的知识,一知半解很粗浅多线程我的理解就是新开一个线程执行我给他分配的函数_thread.start_new_thread(functionname,args)\_thread.start\_new\_thread(function_{name}, args)\\_thread.start_new_thread(functionname​,args)其中args以元组形式给出先学了一下_threadimport _thre

2021-11-19 13:03:16 750

原创 IEEEXTREME15.0 游记

  大学的第一场比赛,甚至以前从来没有听说过,因为含金量不高(学校不认 ),所以大二大三的奆佬们有很多都没去,于是乎就多出了一点名额给我们这些大一的菜比们了。  比赛的最大特点是持续时间长,长达24h24h24h 。每个小时放一题出来,可以随时提交并立刻获得结果及实时排名,且每一题的分数随着通过的人数变多而变小,初始满分100100100分,T6T6T6最后就值747474分了。关于这逆天的比赛时长,没错,从星期六早上八点打到星期天早上八点,星期天早上七点仍然会放一题(不愧是极限编程大赛)。这也是最吸引我

2021-10-27 01:07:55 968 1

原创 退役杂谈

Away From OI我算是一名高龄菜鸡选手了吧,学OI已经很久了,满打满算已有三四年了一朝退役,也没有什么惊天动地的事迹,有没有省一,还得看今年出题人的脸色想想我和编程的缘分,其实挺深的四年级的时候,第一次接触到了Pascal,当时觉得很新鲜,满怀期待的听了第一节课,结果第一天的作业我就不会写,又因为我的英语不好,看到英语单词就头疼,我学了一个月就放弃了。没错,就因为一天的作业我不会...

2019-11-17 23:42:19 218 1

原创 CSP2019-S2游记

试机考前一整个机房都在疯一般的打树剖的板子,就是为了试机能够快速打完。入场时出现了一些小意外,迟了十分钟进去,草草的打完树剖,测完样例发现没地方提交,发了一会呆才想起来还有文件和STL没看,测完后看了看两边的人,都是第一次来比赛,甚至不知道电脑上有贪吃蛇(笑),心里有一些小得意。回到房间,看了两遍板子,破天荒的十点就睡觉了(是真的困)。Day1Day1是崩坏的开始,凭着对以往noip的印象...

2019-11-17 22:17:10 227 1

原创 模板库

ST表for(int i=1;i<=N;i++){ for(int j=1;j+(1<<i)-1<=n;j++){ f[j][i]=max(f[j][i-1],f[j+(1<<i-1)][i-1]); } } for(int i=1;i<=m;i++){ int x,y; scanf("%d%d",&x,&y);...

2019-11-13 16:29:57 271

原创 考前刷题清单一

主要是一些DP的题目,而且几乎全部是USACO的题目,质量很不错洛谷P2627 修建草坪要求选出一些线段,每段长度小于k,求最大总权值正解单调队列优化DP,我tm为什么写的N方还打了个表…#include<iostream>#include<algorithm>#include<cstdio>#include<cstdlib>#inc...

2019-11-10 22:03:09 671 2

原创 洛谷P2339 提交作业usaco

这题算是一个典型的区间DP,方程式和奶牛零食极其的像,思想也是我们定义dp[i][j][0/1]dp[i][j][0/1]dp[i][j][0/1]表示区间[i,j][i,j][i,j]内,除了i(0)i(0)i(0) 和j(1)j(1)j(1)其他都没选的最短时间方程式的转移就很简单我们思考一个简单的贪心策略对于一段任务区间,如果我们先选了开门早的中间节点,那么我们一定会返回至两个区间端...

2019-10-30 01:07:58 180

原创 洛谷P2237 [USACO14FEB]自动完成Auto-complete

各路大神用的都是啥二分,lower_bound()的菜鸡并不想用,于是菜鸡写了一个很暴力的算法我们先建字典树因为是固定前缀求字典序第K大所以我们先跑到给定前缀的最后一个字母在字典树上的位置在以这个点为根的子树中,我们暴力查找第K个字串具体实现过程如下1.判断结尾在该子树内的字符串是否有k个,没有输出-12.不然的话从当前点开始dfs,每次跳到一个点如果是一个字符串的结尾,排名减一...

2019-10-30 00:57:52 178

原创 洛谷P2255 [USACO14JAN]记录奥林比克Recording the M…

名字竟然显示不完,惊了这题算是比较基础的贪心,和同类型最基础的单通道比起来,变成了并行的两个通道其实区别不大,我们可以同时对于两个通道一起贪心,一个放过了就放另外一个这个证明和一个通道贪心的证明一模一样,越早结束的节目优先级越高唯一不一样的一点是,如果两个通道都能放新的节目,那么优先放在结束时间靠后的那个通道里因为结束时间靠前的点,满足的节目一定更多,这也体现了排序的正确性。#incl...

2019-10-30 00:46:19 117

原创 洛谷P2340 奶牛会展

一道不错的背包题,难度并不大,但有一些细节这题要求两个互不影响的值的总和最大,猛一看可能觉得是贪心,一顿排序然后。。。。。也太容易证明是错的了,,,我们换一个角度,我们转换一维变成费用,于是我们每选一头牛,代价可能增或降(情商为正或负)所得也会增加或减少(智商为正或负),我们求出在固定情商下智商的总和最大值,暴力枚举所有的情商统计答案即可,这是妥妥的01背包啊但是这样会发现一个很大的问题...

2019-10-30 00:38:09 123

原创 篮球

换一个理解方式:有一个由N(N<=1000)个数字组成的序列,我们每次取出两个子序列S1和S2,满足以下条件:1.每个数字只出现一次,可以放在S1或者S2里,也可以都不放,但S1和S2不能为空,且S2中的任意一个数字,在原序列中的位置必须在S1任何一个数字之后。2.S1中所有数字异或(^)和必须等于S2中所有数字的与(&)和。3.对于一组{S1,S2},当且仅当其中任意一个...

2019-10-28 20:45:03 195

原创 「Usaco2013 Dec」最优挤奶

这一题实际上就是线段上的最大独立集因为带了修改,所以还有了点动态DP的意思??比较暴力的写法是对于每次改值操作,全部重新DP那肯定过不去想想原因,因为每次重新DP重复计算了太多了计算过的值而且,对于连续一段来说,他并没有后效性,就是不影响后面的选择同时,后面的选择也不影响前面的那么单点更新,可不可以每次调用以前算过的解呢?当然可以,于是我们引出了线段树因为要求独立集而且无前后效性...

2019-10-17 20:48:22 149

原创 可撤销贪心总结

这篇博客是因为模拟赛被吊打,于是写一下总结普通贪心注重的只是当前情况下的最优,不考虑后面的状态这样有时可以得到很高的分数,但大部分情况下并不理想那么我们思考问题所在,我们在贪心出每一个所需量的时候是不可撤销的,即使后面出现了更优的解,我们也无法返回到之前状态撤销可是我们想撤销,怎么办呢于是就有了可撤销的贪心对于一些答案累加的题目,如果只针对当前状态的贪心不够优秀,我们可以将他存起来...

2019-10-17 20:36:26 587 2

原创 整体二分学习笔记

整体二分算是一个比较重要的算法,我个人看来也挺难的(主要是我菜)目前也写了三道模板题,来小小的总结一下整体二分的适用情况当题目的询问需要进行二分,且有多组操作的时候(包括赋值操作),我们可以同时对所有操作二分,每次将左区间的贡献加到右区间继续分治下去即可,主体架构很像CDQ分治当然也可以用一些大数据结构写(明示树套树)算法流程我们首先确定范围,答案的值域和所有询问对于每次二分到的mi...

2019-10-14 23:58:21 142

原创 P3527 [POI2011]MET-Meteors

这是一道板子题,实名制艹整体二分的板子,我们在这里主要讲讲算法流程我们把所有的询问放到一起,二分一个时间点对于所有任务,如果可以完成目标,我们就放到左区间里面,不然放到右区间时间像二分的一样[l,r]−>[l,mid]+[mid+1,r][l,r]->[l,mid]+[mid+1,r][l,r]−>[l,mid]+[mid+1,r]直到l==rl==rl==r我们确定了...

2019-10-09 23:45:03 66

原创 CF295B Greg and Graph

这题要求的是一个类似于动态最短路的东西乍一看可能有点棘手,实际上是三个for循环的题目,滑稽我们思考一下加入一个点会产生什么影响,所有和它相连的边,都会被判断一次三角形不等式是否可以被破坏,这像什么,Floyd啊,我们每次删除的点,是不是很像我们枚举的断点,我们倒序读入,不就变成了按照一定顺序枚举断点的floyd了吗细节不多,但是会坑我们floyd过程中更新时是不用判断这个点在不在图中的,...

2019-10-09 23:36:57 171

原创 2019十一金华集训总结

这次集训,怎一个艹字了得在这个目标NOIP500分的班级里,我度过了被吊打的六天Day1的考试,想破了脑壳,才写了三题暴力,,,,没错,不懂暴力暴力都不会写Day2 Day3,在我看来都差不多,因为都是杂题,乱七八糟的容斥和数据结构…啥好的选手五分钟树套树,十分钟LCT的,和我应该无缘了,不过有一些能写的题目,毕竟整体二分和线段树分治的板子还是要看一看的Day4的考试,我日常上头了,我可能...

2019-10-09 23:15:09 149

原创 P1848「Usaco2012 Open」书架

这是一道我题解都差点没看懂的题目,DP和线段树融合的出神入化注释应该写的挺清楚#include<iostream>#include<cstdlib>#include<cstdio>#include<algorithm>#include<cmath>#include<cstring>#define lch(x) ...

2019-10-09 00:20:35 124

原创 「Usaco2012 Dec」第一

我们思考这题所求的优先次序如何确定我们先建一棵trie树,如果一个字符串是最优的那么在这个字符串经过的路径上,每个点一定是他父节点的所有儿子中优先级最大的这就行成了几个关系,如果不存在先序关系,当且仅当,偏序关系形成了环我们拓扑排序即可#include<iostream>#include<cstdio>#include<string>#inclu...

2019-10-09 00:09:10 158

原创 洛谷P3046「Usaco2012 Feb」奶牛优惠券

这题比较暴力,简单的算了一下复杂度,发现二分的O(N(log2N)2)O(N(log_2N)^2)O(N(log2​N)2)并不会爆炸,于是就写了暴力二分#include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>#include<algorithm>#i...

2019-10-09 00:04:14 186

原创 洛谷P3043「Usaco2012 Jan」奶牛联盟

这题tarjan缩点的思路不难想到,关键是怎么统计我们思考每个部分的贡献是什么对于一个环,我们只有两种方法,因为每条边必须和一个点分在一组所以只有顺时针到底和逆时针到底两种方式对于一个非环部分,我们有sizesizesize中方法,实际上就是一个图多一条伸出去的边那么我们如何判断呢,不难发现,,一个环,环内的边一定等于换的大小我们统计一下每次判断就行了…#include<ios...

2019-10-09 00:01:13 93

原创 P2344「Usaco2011 Feb」奶牛抗议

这题是真的水爆一个O(N2)O(N^2)O(N2)的暴力有92pts92pts92pts…实际上正解也不难写,我们的暴力是把前面的累加起来,判正负我们把前缀和的正负变为sumsumsum的大小,即sum[x]−sum[y]>=0sum[x]-sum[y]>=0sum[x]−sum[y]>=0 等价于sum[x]>=sum[y]sum[x]>=sum[y]sum[...

2019-10-08 23:22:36 106

原创 洛谷P3008「Usaco2011 Jan」道路和航线

乍一看,这题非常简单不就是一个单源最短路径吗但是定睛一看,怎么有负边,好像没法写Dijkstraspfa呢?靠,usaco日常卡spfa但实际上,spfa+SLF可以过…因为数据比较水…但是,既然出题人都刻意的卡我们了,我们自然要按他的意思来写我们仔细思考这个图的构成,对于道路,全部是正权双向边航线有负权,但是一定不会构成环缩完点好像可以跑拓扑排序+DP啊对于一个环内,因为题目...

2019-10-08 23:15:10 194

原创 「Usaco2011 Jan」瓶颈

这题,主要是想清楚每个点的过程对于一个点,他能走完,当且仅当,流向它的权值和小于它流出的权值那么我们就有了很多时间点但是如果一个点走完了呢,我们把他缩起来,变成一个新的节点,重新我们离线一下询问,动态的更新答案即可#include<iostream>#include<cstdio>#include<cstdlib>#include<cmat...

2019-10-08 21:06:33 215

原创 「Usaco2010 Jan」轮流吃草

一个类似于博弈的DP我们要保证一个人最优,那么我们有两种选择当前点拿,我们从上次取的权值和加当前权值转移不拿的话,第二个人也拿不了,继承原来的值#include<iostream>#include<cstdio>#include<cmath>#include<cstring>#include<cstdlib>using ...

2019-10-08 20:59:53 165

原创 「Usaco2010 Feb」覆盖牛棚

主要思路,并查集缩点对于可以合并的栏杆,我们强行合并成一个栏杆当然要保证最优然后一点点更新即可#include<cstdio>#include<algorithm>using namespace std;const int maxn=2e6+3;struct node{int l,r;}p[maxn];int nex[maxn],pos[maxn],jum...

2019-10-08 20:47:42 144

原创 2019郑州课件·动态规划」JXOI2012 奇怪的道路

神仙状压题虽然想到了怎么压,但是完全不敢写…f[n][m][state]f[n][m][state]f[n][m][state]表示前n个点,匹配了m条边,前K个点的奇偶状态为statestatestate的方案数愉快的转移吧#include<iostream>#include<cstdio>#include<cstdlib>#include&lt...

2019-10-08 20:36:51 83

原创 「Usaco2008 Open」奶牛邻居

这题的关键在于转化曼哈顿距离为契比雪夫距离由一个加法变成一个取max我们重新定义一个坐标为(x,y)(x,y)(x,y)的点的坐标为(x+y,x−y)(x+y,x-y)(x+y,x−y)这样,两个点的距离就变成了max(x1,−x2,,y1,−y2,)max(x_1^,-x_2^,,y_1^,-y_2^,)max(x1,​−x2,​,y1,​−y2,​)我们使用双指针维护,保证在当前区间内...

2019-10-08 20:29:48 138

原创 「Usaco2008 Jan」电话网络

一道比较神的树形DP,恕我太菜,一开始想的是三维的。。实际上并不需要三维,只需要用0,1,2表示即可dp[u][0]dp[u][0]dp[u][0]表示当前点不放,他的某一个儿子覆盖他的代价dp[u][1]dp[u][1]dp[u][1]表示当前点放,他的子树也被覆盖的代价dp[u][2]dp[u][2]dp[u][2]表示覆盖当前点的子树除当前点之外的代价思考一下为什么会有dp[u][...

2019-10-08 20:22:12 121

原创 洛谷P2894「Usaco2008 Feb」旅馆

比较简单的线段树维护空区间长度的题目依稀记得还有一道树上的树剖加强版…主要思想,维护当前区间内左右端点往中心能拓展的最长距离#include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<algor...

2019-10-08 20:11:59 154

原创 P2943「Usaco2009 Mar」打扫卫生

神题一道变量异常复杂,请在结合程序及注释的情况下观看。根据题意不难看出,在选择的一段区间内,最多有 n\sqrt{n}n​种不同的食物。据此设计dp数组f[i]表示i时的最小代价。设计辅助数组pos[j]表示最多选j种食物时区间左端点位置。思考:遍历到i时,使区间食物种数不变应满足什么条件?得出:若上一个该种食物同样在此期间内,食物的种数便不必增加。同理,若一个食物,其下一个相同食物...

2019-10-08 20:07:03 160

原创 「Usaco2010 Nov」买饲料1O(∩_∩)O

这题的最直接算法是O(n2k)O(n^2k)O(n2k)的暴力Dpfor(int i=1;i<=n;i++) for(int k=0;k<=sta[i].f;k++) for(int l=0;l<=sum[i]-k;l++) f[i][l+k]=min(f[i][l+k],f[i-1][l]+(l)*(l)*(sta[i].x-s...

2019-10-08 19:49:07 121

原创 「LLH邀请赛」参观路线

很奇妙的一题,实际上如果你写过类似的题目并不难想我们考虑裸暴力的写法从1点开始暴力dfs,暴力判断当前点是否可以走(没有走过或者道路摧毁)这样你只能拿到低的可怜的暴力分我们考虑上述写法的问题在什么地方,我们的dfs是这样写的void dfs(int k){ ...... for(int i=1;i<=n;i++){ if(!used[i]){ used[i]=1; ...

2019-09-26 00:16:22 151

原创 洛谷P3000 [USACO10DEC]牛的健美操Cow Calisthenics

这题一眼看上去十分的吓人于是我决定写一个暴力然后过了…奇妙首先看到所求的最大值最小,我们能确定肯定用二分但是如何保证森林里的最大直径小于所二分的值呢我们按照天天爱跑步的存边长度方式,树上链的形成分为两种1、该点子节点的子链的最大值和次大值2、该点最长链加上面的部分那么我们如何保证链最小呢,我们先不管第二点,我们把该点的子链长度放入一个vector排序后,每次取出最大值和最小值,排...

2019-09-14 16:17:27 88

原创 洛谷P4180 【模板】严格次小生成树[BJWC2010]

rt,模板题思路挺简单,每次找到不在最小生成树的一条边,断开from&gt;tofrom&gt;tofrom>to在树链上不等于该边边权的最大边更新答案就好了,这里主要是注意一定要不等于该边边权,因为严格次小是发方法还是倍增,我们的倍增数组维护最大值和次小值就好了max2[j][i]=max(max2[fa[j][i-1]][i-1],max2[j][i-1]);i...

2019-09-13 22:58:03 137

原创 洛谷P2258 子矩阵

这是一道比较无聊的题目,虽然看上去极其的吓人,但是看完N是小于等于16之后,一切皆有可能首先,要选出r行c列,我们分开做,暴力枚举出所有的行状态,对于每一种状态分别DP,最后更新答案即可DP我是这么写的f[i][j]f[i][j]f[i][j]表示原图第jjj列选了要求矩阵的第iii列,所得到矩阵的最小值转移十分的显然f[i][j]=min(f[i][j],f[i−1][(i−1)−&amp...

2019-09-13 00:54:01 226

原创 洛谷P2371 [国家集训队]墨墨的等式

不愧是国家集训队的题目,神仙题啊题目所让求的实际上是(∑i=1naixi)(\sum_{i=1}^n a_ix_i)(∑i=1n​ai​xi​)在所给定的[l,r][l,r][l,r]区间内的取值个数我们令(∑i=1naixi)(\sum_{i=1}^n a_ix_i)(∑i=1n​ai​xi​)为SSS我们考虑对于SSS膜aia_iai​的值,假设S=k∗ai+restS=k*a_i+re...

2019-09-13 00:04:37 117

原创 CF498D Traffic Jams in the Land

此题确实是妙,用到了题目的每一个小细节先是全题的重中之重,对于每一条路,他的拥堵值一定小于等于6这意味着什么,因为要对拥堵值取模,我们的累计时间就可以提前进行取模这样就可以表示出该节点的状态了讲的比较混乱,我们来说代码我们使用线段树,区间权值的意义是,在时间iii跑到lll点,到达r+1r+1r+1需要多长时间这样对于查询操作我们只需要区间求和即可如何实现呢,我们前面也说了,枚举当前...

2019-09-12 00:41:59 158

原创 洛谷P3146 [USACO16OPEN]248

我果然还是弟弟一眼看这题,裸的区间Dp嘛,啪啪啪打完,样例完美通过,直接交结果自然喜闻乐见为什么会这样,我阶段输出了一下DP过程中值的变化情况,发现了这么一个操蛋问题我的DP是这样的 多么朴实无华for(int l=1;l<=n;l++){ for(int r=l+1;r<=n;r++){ for(int k=l;k<r;k++){ if(f[l][...

2019-09-11 23:57:53 205

原创 洛谷P4172 [WC2006]水管局长

LCT动态维护最小生成树的典例这个都是套路,倒序处理,将删边变成加边再将边换成点,然后就可以做到点权维护边权信息说一下加边的过程大概是一、首先最小生成树,保证初始最优二、对于新加入的一条边,找出原x->y链上的最大边,替换第二点的实现比较有意思因为是在树上加边,所以一定会形成一个环,那么我们要使边权和最小,就要删边分为两种情况,一种是新加入的边比换上的最大边还要大,就不用管...

2019-09-11 00:23:35 214

空空如也

空空如也

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

TA关注的人

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