自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

TYB的博客

我们剩下颓的时间不多了!

  • 博客(12)
  • 收藏
  • 关注

原创 Codeforces DP训练

813D:题意:给出长度为nnn的序列,从中找出222个子序列,满足每个子序列相邻两数之间要么相差111,要么同余于777,求这两个子序列的最长长度和。题解:DP优化主要考虑状态的减少和转移的加快,这个题f[i][j]f[i][j]f[i][j]表示分别以iii、jjj为结尾的子序列最长长度和的状态不能减少,考虑优化转移。防止一个位置被重复选择,要强制限制i<

2018-09-29 22:05:14 2551 2

原创 POI2017

Flappy Bird:水题,直接维护飞到每个柱子时的最高最低高度,然后用最低高度算答案。代码:#include<bits/stdc++.h>using namespace std;#define LL long longconst int Maxn=500010;const int inf=2147483647;int read(){ int x=0,f=1...

2018-09-28 15:25:37 347 1

原创 4727: [POI2017]Turysta 竞赛图相关

题解:这题算是竞赛图相关知识的简单运用了吧。完成此题,你需要知道:1、竞赛图都存在一条哈密顿路径。这个比较简单,反证法,假如没有,设一条最长路径为a1−>a2...an−1−>ana_1->a_2...a_{n-1}->a_na1​−>a2​...an−1​−>an​,考虑一个这条路径之外的点ppp:1、ppp连向a1a...

2018-09-28 15:05:34 661 4

原创 POI2018

Plan metra:找出111-nnn的路径后随便构造就行了,一开始我想找d1+dnd_1+d_nd1​+dn​相等的点作为路径上的点,其实找d1+dnd_1+d_nd1​+dn​最小的才是正确的,然后还要特判111和nnn直接相连的情况,这时可以用所有点∣d1−dn∣|d_1-d_n|∣d1​−dn​∣相同来判断,但是当∣d1−dn∣|d_1-d_n|∣d1​−dn​∣都为000时,111和...

2018-09-27 13:15:27 393 2

原创 吉老师线段树(hdu5306 bzoj4695)

前言:今天突然想学一学这个,那就学一学,资料可以在lzz的uoj博客找到。核心:(我只学了区间取min⁡\minmin和max⁡\maxmax,不会历史最值)以取min⁡\minmin为例子,那么我们需要维护区间最大值mxmxmx,次大值sesese,最大值出现次数ccc,区间和sumsumsum,然后分下面几种情况(设当前区间的值改为min⁡(ai,v)\min(a_i,v)min(ai...

2018-09-26 14:51:01 1802 1

原创 noi.ac及牛客网NOIP模拟赛部分题目记录

牛客网NOIP赛前集训营-提高组(第二场):T2:分糖果这个题完全不会啊。考虑序列的情况,容斥就是考虑有多少对相等关系,也就是有多少对等号,那么设f[i]f[i]f[i]表示考虑到iii所有情况带上容斥系数的和,有f[i]=∑ji−1f[j]×min⁡(a[j+1...i])f[i]=\sum_j^{i-1}f[j]\times \min(a[j+1...i])f[i]=∑ji−1​f[j]×...

2018-09-25 17:18:39 1054 2

原创 2749: [HAOI2012]外星人 数论

题解:这个题的关键是要找出一个与操作次数相关的量。这个量就是222在取ϕ\phiϕ过程中的222因子个数。因为如果一开始没有222,那么在某一个大于222的质数−1-1−1后就会出现,一开始有222,那么这次就会把这个222变成111。所以算一下过程中222的个数即可。代码:#include<bits/stdc++.h>using namespace std;#define ...

2018-09-25 16:50:57 204 1

原创 5359: [Lydsy1805月赛]寻宝游戏 DP

题解:选择kkk个位置交换实际上是一条路径上,有kkk个属于这条路径上的权值不计贡献,有kkk个不属于路径的权值计入贡献。所以直接DP,f[i][j][p][q]f[i][j][p][q]f[i][j][p][q]表示到了(i,j)(i,j)(i,j),路径上有ppp个权值不计贡献,在前i−1i-1i−1行和第iii行的前jjj个没选的权值中有qqq个权值计入贡献即可。代码:#include...

2018-09-25 16:34:57 176

原创 1110: [POI2007]砝码Odw 贪心 思路题

题解:首先显然是把砝码从小到大装进容器中,那么如果我们能够快速知道每次能否再放入砝码,问题就迎刃而解了。题目有个重要条件:他们的中总有一个的重量是另外一个的整数倍,所以我们可以把每个容器用类似进制转换的方法表示,最高位的数字表示能装最大的砝码几个,次高位表示尽量多的装完最大砝码,次大砝码能装的个数……以此类推,把所有容器的数加起来,然后每次装入砝码,相当于在某个位上−1-1−1,贪心就行了。代...

2018-09-25 16:27:15 179

原创 3331: [BeiJing2013]压力 点双连通分量+树上差分

题解:点双模板+树上差分。 点双求法:由于一个割点会属于多个点双,所以必须在Tarjan的时候,找到一个割点就把栈中的所有点加上这个点组成一个点双连通分量。 说实话树上差分我都不会了…… 树上差分就是如果给(x,y)(x,y)(x,y)这条路径上+1+1+1,那么d[x]++,d[y]++,d[LCA(x,y)]−−,d[fa[LCA(x,y)]]−−d[x]++,d[y]++,d[LC...

2018-09-14 21:53:42 247 1

原创 poj3694 Network 边双连通分量

题解:边双模板。做法显然是先对原图跑一遍边双,然后每次加一条边,若两点属于同一个边双连通分量,那么答案不会改变;否则这两个连通分量路径上的边全都变成非割边。这个当然可以可以用树链剖分,但是看了题解有更为简洁的做法:用并查集维护每个点往上的第一条割边,这样每条边只会被删一次,代码写起来也十分简单。代码:#include<cstdio>#include<cstring&...

2018-09-14 21:34:26 224 3

原创 ARC102 D - All Your Paths are Different Lengths

题解:容易想到最后答案都是由若干个222的次幂加起来的,也就是第iii个点向第i+1i+1i+1个点连2i−12i−12^{i-1}的边,但是这样只有2x2x2^x条路径,剩下的L−2xL−2xL-2^x条怎么办呢?现在我们还剩下L−2xL−2xL-2^x条路径,注意到前iii个点可以凑出000~2i−1−12i−1−12^{i-1}-1,所以我们这样做:每次先找到一个最大的yyy使得2y&l...

2018-09-06 17:40:10 268

空空如也

空空如也

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

TA关注的人

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