自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 POJ-3278 Catch that cow

这道题是道典型的宽搜问题,我们可以从它的数据量就可以看出深搜要超时,并且最短路要用宽搜。#include<iostream> #include<queue> using namespace std; queue<int>sm;//宽搜用队列 int d[200001]={0},start,end;//d[]代表走到当前点需要的最少步数 int sear...

2017-07-27 20:47:11 470

原创 线段树lazy操作

本人自己出的一道题:已知有N个数,其中第i个数的只是a[i],对这i个数进行q个操作,每次先输入op,代表操作,若op==0,则输入x,y,求a[x]+......+a[y]的值。若op==1则 输入x,y,z,将a[x]......a[y]之间的每一个(包括a[x],a[y])加z。先输入n,q(n<=300000,q<=300000)接下来一行n个数,其中第i个数表示a[i]...

2018-07-23 11:16:25 301

原创 C - String Coloring

C - String Coloringagc026.contest.atcoder.jpTime limit : 3sec / Memory limit : 1024MBScore : 600 pointsProblem StatementYou are given a string S of length 2N consisting of lowercase English ...

2018-07-17 21:41:41 313

原创 树状数组第一题: POJ 2352 Stars

Astronomers often examine star maps where stars are represented by points on a plane and each star has Cartesian coordinates. Let the level of a star be an amount of the stars that are not higher and ...

2018-06-13 09:13:48 185

原创 NKOJ-1316 小白逛公园

http://oi.nks.edu.cn/en/Problem/Details/1316小新经常陪小白去公园玩,也就是所谓的遛狗啦…在小新家附近有一条“公园路”,路的一边从南到北依次排着n个公园,小白早就看花了眼,自己也不清楚该去哪些公园玩了。一开始,小白就根据公园的风景给每个公园打了分-.-。小新为了省事,每次遛狗的时候都会事先规定一个范围,小白只可以选择第a个和第b个公园之间(包括a、b两个公...

2018-03-25 10:50:37 163

原创 NKOJ -2295 涂色

http://oi.nks.edu.cn/en/Problem/Details/2295这道题是要一道经典的线段修改与访问的题,即用lazy标记的经典题首先,我们按照老套路,要建树(初始化)。建完树后,我们就开始更新了,我们一条线段一条线段的更新:当一条线段树上全没颜色是lazy标记为0;若全有颜色则lazy标记为1;不然lazy标记为-1 #include<cstdio>#inclu...

2018-03-25 10:12:41 269

原创 次小生成树 (NKOJ-2754)

首先,我要感谢南开中学某位大佬的题解,没有那个大佬的题解,我根本不可能做出这道题,更不可能写出这篇题解,网上的题解我都看不懂,但她的我却看得懂。题在:http://oi.nks.edu.cn/zh/Problem/Details/2754,她的题解在那个下方的讨论中(%%%).然后,这是我对这道题的理解。首先这道题我们要用到回路性质,即次小生成树一定能由最小生成树换一条边得到。想到这里,我们一定要...

2018-03-25 09:55:17 202 1

原创 UVA -11419 SAM I AM 最小边覆盖输出路径

首先,我们要清楚,这道题它是最小边覆盖的题。但是与其他不同的是,这道题要输出路径,所以说我们又要学习如何输出二分图路径:首先,先跑一次匈牙利,然后再从残余网络从X集出发,沿着增广路线依次走,标记途径节点,最后取X未标记的和Y已标记的输出答案 #include<iostream>#include<cstdio>#include<algorithm>#include...

2018-03-25 09:20:13 150

原创 UVA 10603 Fill

这道题其实是个隐形图(bfs),由开始状态往后面推就行了#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<vector>#include<queue>#include<stack>#include&l

2018-02-10 18:17:11 128

原创 UVA 11374 Air Express

这道题其实就是这个意思:给你m条路,可以随便走;再给你K条路,这K条路一共只能走一次(可以不走),问从A到B最快要多久.        这道题,其实是道水题,可以参考刘汝佳的蓝书P330。我们从A为起点,做一次单源最短路径,把点X离A的距离记为dis[x][0],然后再以B为起点,做一次单源最短路径,把点X离B的距离记为dis[x][1]。我们设这K条路中任意一条路为x-y,长度为z且经过这条路,...

2018-02-10 14:28:49 144

原创 NOIP2016 愤怒的小鸟

这道题看到数据范围,我们就知道:小于等于18,一定使用状态压缩,即O(2^n*一个东西),在算一下,我们发现,像NOIP这种考试,一定会考卡常数的题,所以瞬间得出这道题的算法是O(2^n*n^2*cases).显然这道题我们可以当做直线来做:y=a*x^2+b*x可以合并同类项得y=x*(a*x+b),那么,我们就把y/x当做y,即y=k*x+b.#include#include#

2017-11-08 13:45:54 281

原创 LCIS code force 10D

这一道题,我用的是O(n^2)的算法,仔细分析一下可以发现,用O(n^3)的算法很危险,所以我建议用O(n^2)的算法#include<cstdio>#include<algorithm>using namespace std;int y[705],x[705];int f[705][705];int path[1005];int n,m,len,w;void output...

2017-10-22 15:51:04 162

原创 UVA 1398

The famous Korean internet company has provided an internet-based photo service whichallows The famous Korean internet company users to directly take a photo of an astronomical phenomenonin space by c

2017-10-22 15:02:20 218

原创 uva1382 Distant Galaxy

这道题,我们一开始就能想到O(n^5)的算法---n^4找矩阵的两个对顶角,n用来查找。但因为n<=100,n^5=10^10,所以我们必须用优化算法。我们先枚举上下界(这两条线上面要有点。用了离散化的思想),即局部枚举,然后在用n的时间一列一列的算(上面有点的。用了离散化的思想),最终算法O(n^3)#include<iostream>#include<cstdio&gt...

2017-10-22 14:46:03 202

原创 洛谷-3930(我在洛谷上也写了题解)

https://www.luogu.org/problem/show?pid=P3930这道题,其实完全不需要你去你用什么高级算法,其实需要你的,是耐心地爆搜,像2015年斗地主一样了,但有一个坑,我没注意到,于是得了80分,那就是:因为进攻方是骑士,所以进攻方是不可能吃到骑士的。大体呢就是先把开始点和结束点记录下来,然后开结构体,结构体里面要有它当时棋盘的状态和进攻方所在位置,然后把那些敌方的记...

2017-10-22 13:55:02 1047

原创 HDU-1505 City Game

https://vjudge.net/contest/189603#problem/E这一道题,思想较难,编码虽简单但坑多。如果用暴力,需要n*n*m*m,要超时,所以我们要用优化算法,逐行逐列地寻找最大的面积,用n*m,具体解释看注释#include<cstdio>#include<algorithm>using namespace std;int a[1005][100...

2017-10-21 19:32:22 162

原创 导弹拦截n logn的算法(单调性)洛谷1020

这是我动态规划单调性算法的第一篇题解,写的不好请各位神犇提出建议(我在luogu上也写了这个的)/*这道题要一个神奇的思想(我无法证明),那就是,求一个序列里面最少有多少最长不上升序列等于求这个序列里最长上升序列的长度。我们用f[x]数组(第一问)来记录当前长度为x的不上升序列中最大的结束点(这个运用了贪心的思想),如果当前数小于等于当前的最长不上升序列的结束点,那么我们把当前最长的不上升序列长度...

2017-08-26 15:45:23 411

原创 POJ 1182 食物链

动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。 现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述: 第一种说法是"1 X Y",表示X和Y是同类。 第二种说法是"2 X Y",表示X吃Y。 此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有...

2017-08-09 20:23:01 206

原创 POJ - 3250 G - Bad Hair Day

https://vjudge.net/contest/177579#problem/G这道题看起来可能有一点难,但是你把题目转换一下就好做了,把这个题求一头牛能被多少头牛看见就行了,用单调栈来做#include<cstdio>#include<stack>//用栈做#include<string>#include<iostream>using nam...

2017-08-09 20:12:15 204

原创 POJ-1094 Sorting it All Out

一个字母,则入度加一,并把小的当成大的字母的一个的出度,如果有一个入度为0就输出,并把其其所有出度点减一个入度,循环n次,若一次循环出两个字母,则排序失败,但不跳出,因为一旦遇到了一次循环根本无法输出,则输入结束后输出Inconsistency found after t relations.,t为这条指令的序号(每输入一个指令就判断),当然,若当次就能判断顺序,我们就把t和输出顺序存下来,到最后...

2017-08-03 07:55:09 189

原创 Hot Bath

这道题呢其实是很简单的,你先从全部水开始试,热了就减1个单位的热水,并比较这个方案是不是比原方案好,若要好些则认为这种情况暂时最好,冷了就减一个单位的冷水,知道有有一个小于0为止。#include<iostream>using namespace std;int main(){ long long t1,t2,x1,x2,t0,ans,ans1;long double anss...

2017-08-03 07:46:49 372

原创 Canvas Frames

这道题是一道简单的不能再简单的题(虽然说我一开始看错题了),是一道数学题,代码简单,思想简单。先算出一共有多少对相同的,然后因为有两对才能配成一对,所以把对数和加起来后还要除以2才是最后的答案#include<iostream>using namespace std;unsigned long long f[100001];int main(){unsigned long lo...

2017-07-28 20:45:29 197

原创 FOJ-2257 Saya的小熊饼干

这道题呢其实说难不难说简单也不简单(虽然说我做了很久),重要的就是它的思想---正着做不行就反着做,先求出每个点不被抽到的概率,然后再用1-概率,并全部加起来。#include<iostream>#include<cmath>#include<algorithm>using namespace std;double count(double a,doub...

2017-07-28 20:38:15 572

原创 Find a Way

这道题,是一个典型最短路径问题,用宽搜,但不要理解为双起点,而要理解为双宽搜。这道题有多个终点,我们不要一个一个点地枚举,这样做会超时(我试过的,而且还卡了很久不知道为什么错.而是算没个人到每个KFC的距离,再用两人的距离和比较,取最小的。#include<iostream>#include<queue>#include<cstring>using nam...

2017-07-28 08:56:36 515

原创 Fire! UVA-11624

这道题没什么好说的,一个最短路径的题,用宽搜。但是要注意的是,这道题是两个宽搜,先算火(有多个火!)到每个点的距离,然后人就必须在火到那个点之前到达那个点,不然人(只有一个人)就要死了#include<iostream>#include<cmath>#include<queue>#include<cstring>#include<que...

2017-07-28 08:39:52 300

原创 Fire Game

这道题说白了,其实就是最短路径问题,果断用宽搜,但是我们这里要注意的是,这道题是两个起点的宽搜,两个同时搜,而不是分开搜,我本人就是因为这个错误而做了很久的#include<iostream>#include<cstring>#include<queue>using namespace std;const int maxn=20;const int i...

2017-07-28 08:19:06 189

原创 Prime Path

The ministers of the cabinet were quite upset by the message from the Chief of Security stating that they would all have to change the four-digit room numbers on their offices.— It is a matter of secu...

2017-07-28 08:04:34 187

原创 Find the Multiple

Given a positive integer n, write a program to find out a nonzero multiple m of n whose decimal representation contains only the digits 0 and 1. You may assume that n is not greater than 200 and there...

2017-07-28 07:55:38 264

原创 POJ-2251 Dungeon Master

这道题呢其实就是一个迷宫问题,只不过从二维变成了三维而已首先呢这道题是用宽搜做的,可以从其数据范围看出我本人一开始用深搜做,然后一直超时,看了数据范围以后才用的宽搜(其实最短路时是最好用宽搜的)#include<iostream>#include<queue>using namespace std;queue<int>p1;//宽搜的队列queue&...

2017-07-27 20:44:09 291

空空如也

空空如也

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

TA关注的人

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