自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【长期更新】noip之后每日总结

这里是某蒟蒻noip之后的经历。

2017-12-01 21:00:11 302

原创 Codeforces Round #451 (Div. 2)题解

比赛时间2017 12 16 19:35-21:35。结果+133rating。

2017-12-17 13:19:39 312

原创 树链剖分剖后感

1、我的脑子要被剖开啦。 2、辣鸡教材! 3、抱紧大佬博客才是最好的!

2017-12-03 20:49:31 231

原创 noip2017题解

这里是noip2017蒟蒻考后感……

2017-11-29 20:48:05 603

原创 【失去更新】2017noip前后每日总结

之前没有做到每日总结,惭愧。 从今天开始决定每日记录今天的状态。

2017-11-04 20:57:29 696

原创 2017.10.26模拟赛day1

紫萱学姐的模拟赛之蒟蒻的哭泣

2017-10-27 13:17:09 372

原创 dp-飞扬的小鸟

noip2013day1T3飞扬的小鸟(评测平台:洛谷p1941) 题目不讲了,大家都知道。 很显然的一个bfs,实则不然(实则我不会),那么就dp吧,但是怎么优化呢…… 心路过程: 暴力 没错,最朴素的暴力背包! 对于ans[i][j],下降由ans[i-1][j+y[i-1]]转移而来(如果ans[i-1][j+y[i-1]可到达); 上升则要玄学操作(详见代码),高度达到m后无法

2017-10-20 21:00:08 272

原创 倍增

(本文中出现的^为乘方,不是异或。)倍增,说实话是一种思想,就和分治、贪心一样,利用二进制的一些特性完成程序。RMQ洛谷p1816忠诚这题是典型的RMQ,即离线状态下求区间最值(在线就只能线段树啦)。核心是设置ans数组,ans[i][j]表示从第i个数字起2^j个数字的最小值。那么,ans[i][j]可由ans[i][j-1]和ans[i+(1而对于区间[x,y],设

2017-10-01 11:50:23 195

原创 并查集

所谓并查集,就是对许多集合做多次合并与查找。其关键就是递归寻找father与进行路径压缩,基于并查集的很多题目都会在压缩上做文章。洛谷p3367并查集模版题#includeusing namespace std;int n,m,p,fa[10010];inline int getfather(int x)//寻找father并进行路径压缩{ if(fa[x]==x)re

2017-09-27 18:45:48 161

原创 图论-最小生成树

Prim算法洛谷p3366最小生成树模版题Prim算法基于点,在无向图中每次选择离已生成的树最近的一个未加入点加入树,随后更新未加入的点的距离。#includeusing namespace std;const int MAXN=5010,MAXM=400010;struct line{ int y,next,w;}l[MAXM];int f[MAXN]={0},n

2017-09-27 14:04:25 224

原创 图论-不会tarjan的悲伤

洛谷p2746校园网题解全是tarjan,很绝望,但是对于这张图,由于数据范围很小,所以可以先用floyed缩点,如果缩点后只有一个点,则答案为1,0;否则对于第一题,如果有一点的入度为0,则它肯定要一份软件,如果不为0,则一定可以从别的点获得软件,而对于下一个问题,对每个出度为0的点,需拓展一条出边; 对每个入度为0的点,需拓展一条入边,则可以完成条件。所以可以从出度为0

2017-09-15 18:50:09 344

原创 图论-存储&最短路

今天讲图论......基础就开心地跳过图的存储邻接矩阵没什么,注意一下初始化就好了,主要是邻接表。曾经pascal用的指针,现在用的是静态链表,感觉很six。const int MAXN=10010,MAXM=10010; struct line{ int y,next;//如果有权值还要再开一个变量}l[MAXM];int n,m,f[MAXN]={0},num=0

2017-09-12 07:45:08 313 3

原创 贪心

很久没写博客了很惭愧贪心在《算法导论》上竟然排在动态规划后面贪心的基本思想:先把问题分成若干步骤,再在完成一个问题的每一步中,都选择局部最优解,最后导致全局最优解。听起来很简单,但是贪心需要严格的证明。洛谷p1094纪念品分组由于一组最多两个物品,所以考虑尽量更多利用空间。对于已排好序的a[1],a[2].....a[n-1],a[n],对于a[1],将它与可以安排的最

2017-09-03 19:16:06 168

原创

c++真的好方便啊~合并果子#include#include using namespace std;int n,a[10010]={0},sum=0;priority_queue,greater > q;inline int read(int &num){ num=0; char c=getchar(); for(;isdigit(c)==

2017-08-21 21:12:31 166

原创 一些小小的时间优化

都是平时看到的奇妙的优化,积少成多说不定哪天就多10分了

2017-08-20 20:32:06 308

原创 dp day4-博弈论

先贴一个链接http://blog.csdn.net/qq1169091731/article/details/51942752度娘和csdn都是好东西洛谷p1857取石子博弈论的题目,对于一种情况,如果有前驱情况为必败态,则该情况必为必胜态,若前驱情况都为必胜态,则该情况为必败态。且若当前情况为必胜态,则应从步数最少的前驱必败态转换而来(尽快胜利),若当前情况

2017-08-20 16:35:27 168

原创 dp day3/4-二维dp

二维dp洛谷p2701巨大的牛棚和p1387一模一样,只不过数据更大,先用一个二维前缀和做了一遍,发现也能AC,最久一个点44ms#includeusing namespace std;int a[1010][1010]={0},s[1010][1010],n,t;inline void init(){ scanf("%d%d",&n,&t); for(int

2017-08-20 09:38:11 173

原创 dp day2/3-区间dp

区间dp洛谷p1880石子合并环形的区间dp,具体看代码吧......#includeusing namespace std;int n,a[210]={0},s[210][210]={0},ma=0,mi=1000000,sum[210]={0};int main(){ scanf("%d",&n); for(int i=1;i<=n;i++) { scanf

2017-08-18 19:51:31 198

原创 dp day2-背包

混合背包分别处理就好啦二维费用的背包问题要多一维数组,其余和前三种基本一样洛谷p1509找GF(tan90)除了二维以外还有一个最大数量时求最小花费的限制,先是用结构体写了一个最简陋的版本(然后发现题解也没有更优化的版本......)把妹子看成有两种花费(money rp)的物品(这样会被打的吧),然后dp#includeusing namespace std;st

2017-08-18 08:49:51 203

原创 dp day1-背包

01背包洛谷p1048采药01背包对于每一个物品,在当前的s可装下当前物品时比较装下该物品的总价值和不装该物品的价值。(经典题+1)pascal也做过,省空间的做法如下#includeusing namespace std;int m,t,s[1010]={0},ma=0;struct plant{ int time,value;};plant p[110];int

2017-08-17 14:14:23 192 1

原创 dp day1

洛谷p1020导弹拦截pascal也做过的经典问题,最长不上升子序列+贪心#includeusing namespace std;int a[110]={0},b[110]={0},s[110]={0},n=1,sum=0,ans=1;//s[i]表示击落i导弹可达到的最大值void dp(){ for(int i=n;i>=1;i--)//倒着搜,当前在第i个导弹且该击落该

2017-08-17 13:36:23 182

原创 一次小测试(+摸鱼)

摸鱼1 洛谷p1540机器翻译简单队列模拟,数据小到不用循环队列的那种。代码不贴了,洛谷都有保存。摸鱼2 洛谷p1068分数划定读题是重点。ps:浪费别人的时间等于谋财害命!测试主要是字符串1递推2模拟,水题3、模拟,重点:读入char时会把回车也读入4、结构体+sort,水题

2017-08-15 20:04:52 236

原创 分治/二分/递推

洛谷p1057传球游戏(看到什么都像dp的毛病得改)#includeusing namespace std;int a[40][40]={0},n,m,l,r;int main(){ scanf("%d%d",&n,&m); a[0][1]=1; for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) { l=j-1>0?j-1:n;

2017-08-13 19:54:05 210

原创 二分+分治plus

洛谷p2678跳石头终于过了,复杂度(nlogn)看来还是可以接受的。判断是否成立部分也不难。顺便过了p1316丢瓶盖,两题挺像的。#includeusing namespace std;int a[50010]={0};int len,n,m,l,r,mid; bool check(int temp)//判断是否成立{ int s=0,flag=0; for

2017-08-12 18:37:30 146

原创 分治

今天学分治-初步,还需要努力啊洛谷p1226 快速幂经典模版,Pascal时也打过,不多说。#includeusing namespace std;long long b,p,k,t,s;int main(){ scanf("%lld%lld%lld",&b,&p,&k); printf("%lld^%lld mod %lld=",b,p,k); t=b%k;s=1;

2017-08-11 21:11:28 196 1

原创 洛谷p2239 螺旋矩阵

数据范围这么大,模拟绝对tle。于是考虑数学方法。先一圈圈搜索,找到所求坐标所在的那一圈,再判断。对于1     2     3    412  13  14    511  16  15    610    9    8    7第一圈的数有1~12,他们的特点是横坐标在第一或倒数第一行,或纵坐标在第一或倒数第一列。第二圈同理。#includeusin

2017-08-10 20:25:15 631

原创 洛谷 入门综合练习2

p1426 小鱼会有危险吗没有判断最开始时的情况......#includeusing namespace std;int main(){ double sum=0,t=7,s,x,begin,end;int b=0; scanf("%lf%lf",&s,&x); begin=s-x;end=s+x; while(b==0&&sum<=end) { if(sum>=be

2017-08-10 19:39:27 222

空空如也

空空如也

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

TA关注的人

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