洛谷的题目
文章平均质量分 63
Blackieonly
我只是个高中生。。
热爱编程的合肥一中的学生。
展开
-
洛谷 P1346 电车
稍微包装过一下的最短路。如果初始状态就是到达那个路口,就把权值搞为0,如果不是就搞为1;然后跑最短路,我用的是SPFA,不过100的数据怎么跑都行吧。。#include#includeusing namespace std;const int maxn=100;int n,a,b,k,map[maxn+1][maxn+1],que[100*maxn+1],head=原创 2016-11-07 23:52:47 · 449 阅读 · 0 评论 -
洛谷 P1417 烹调方案
这题目实在太骚。。输入数据各种坑点。。乘法什么的要转成longlong。。反正坑点特别多,除掉坑点就是简简单单的DP#include#include#include#define ll long longusing namespace std;int t,n;long long int f[100001],ans;struct node{ int a; int b原创 2016-11-01 00:03:30 · 360 阅读 · 0 评论 -
洛谷 P1022 计算器的改良
巨大的模拟(其实也比较小)。等式左边的常数是减掉的,右边则加上,总体效果相当于把左边的常数移到右边去。左边的字母系数加上,右边的减掉。总体是把右边的未知数移到左边来。程序里面para是常数,cof是系数。change那个是串转数。然后ans一除就好了。。不过话说C++的setpercision不能保留末尾的0,调printf调了半天。。#include#inclu原创 2016-11-12 17:25:28 · 489 阅读 · 0 评论 -
USACO 牛的过山车
一开始脑子太抽,想枚举dp[i][j]表示长度为i时预算为j时能取得的最大fun值。但怎么可能这么写呢。理所当然写挂了。后来发现只要枚举预算就行了。废话因为铁路的位置是固定死的。。但一开始要按开始顺序排序。我又挂了一次在这里。第三次没特判,ans=0时要改成-1.又挂一次第四次终于好了。。。(这启示我们千万不要晚上码代码)#include#include#inc原创 2016-10-31 01:29:44 · 325 阅读 · 0 评论 -
洛谷 P1510 精卫填海
一看就是典型的背包题。裸的背包题。。然而唯一的坑点就是体积大于剩下的坑也可以补上。(按理来讲应该塞不下去呀)但是写==确实只过了第一个点。#includeusing namespace std;int v,n,c,ans=-1;int volume[10001],energy[10001];//体积、体力 int f[10001];//然而开n^2的数组会炸空间复杂度原创 2016-10-14 21:34:26 · 423 阅读 · 0 评论 -
洛谷 P1063 能量项链
然而在提高组的动归里居然还有这样一道水题。把环拆成链,然后愉快的区间动归。枚举起始位置,枚举区间长度,枚举断开位置,然后找最大的方案记录下来。思路明了,十分简单。#includeusing namespace std;int len,head[1001],tail[1001],f[1001][1001],n;void read(){ int i,j,k,m原创 2016-10-14 21:58:50 · 446 阅读 · 1 评论 -
洛谷 P1378 油滴扩展
拿到题目没头绪,然后看到n枚举每个地方是不是可能放油滴。油滴半径不能小于0呀。。π的精确度得高一点,否则会被卡分。#include #include using namespace std; const float pi=3.1415926535; int n,a1,b1,a2,b2,num,ans=100000000,beg原创 2016-10-14 23:31:53 · 434 阅读 · 0 评论 -
洛谷 P1058 立体图
炒鸡好玩的一道题。主要就是先画后面的,再画前面的,这样前面的方块就会把后面的覆盖掉。于是就纯模拟。#include #include using namespace std; char a[301][301]; int n,m,b[51][51],high=300,len;//用high len分别储存长度和高度 void built(int x,int y原创 2016-10-15 12:20:36 · 621 阅读 · 0 评论 -
洛谷 P2335 [SDOI2005]位图
炒鸡简单的BFS,把白色的先入队列,然后慢慢往外扩。BFS保证第一次触到一个点时,总是距离最近的。#includeusing namespace std;int n,m;struct node{ int x; int y; int color; int dis;} phonex[151][151];node que[22501];int head=1,t原创 2016-10-15 12:26:41 · 437 阅读 · 0 评论 -
洛谷 P1656 炸铁路
拿到题目第一反应是对偶图,然而发现根本不是这样的。毫无思路的时候,发现数据只有150个。打了个暴力,没想到AC了。。而且最后一个点才跑了21ms。数据有点水。。枚举每一条边,然后炸掉,跑一边图,看看有没有点到不了。#include#include#includeusing namespace std;int n,m,a,b;bool map[151][151原创 2016-10-15 17:35:27 · 722 阅读 · 0 评论 -
洛谷 P1256 显示图像
炒鸡简单的广搜题。好像是SD的一道省选题(对没错好像是省选),叫“位图”吧。从图是1的地方开始搜,如果dis不是初始值的话已经被其他点搜到了。BFS保证的是最短搜索路径。上代码:#includeusing namespace std;int n,m;struct node{ int x; int y; char color; int dis;} ph原创 2016-10-21 18:58:14 · 863 阅读 · 0 评论 -
AHOI2016 迷宫
今年在考场上做这道题的时候还是初三,现在就变成高一了。。突然又看见这道题就突然想来AC一下。。表示这道骚题在考场上做的时候各种懵逼的并查集(脑子不好使)。虽然到现在我还坚信并查集一定能做出来。。好言归正传,此题的思路就是判断每一个圆是不是包含两个点。如果都包含,或者都不包含,则答案不变;如果只有一个点包含在里面,就只好ans++了。。当年是爆0了这题(其实也就今年)。现在做毫无原创 2016-10-28 22:34:54 · 625 阅读 · 0 评论 -
USACO 木瓜的丛林
炒鸡基础的深度优先搜索。。看到洛谷的大牛分站还有这样的水题我好感动。。。!裸的深搜,或者你不回溯模拟也行。。上代码。#includeusing namespace std;int r,c,p[42][42],ans;void dfs(int x,int y){ ans+=p[x][y]; p[x][y]=0; if(x==r && y==c) retu原创 2016-10-29 15:51:58 · 690 阅读 · 0 评论 -
洛谷 P1645 序列
炒鸡明显的贪心题,主要就想让一段区间与另一段里面重合的数越多越好。于是先按照区间右端排序,然后尽可能的把数都往右靠拢,最后与另一段区间的前面的重合。。然后可以用个flag来记录哪些数被选了什么的。#include#includeusing namespace std;const int maxn=1000,maxl=1000;int n,ans;struct no原创 2016-11-08 23:45:58 · 597 阅读 · 0 评论 -
洛谷 P1744 特价采购商品
纯正的最短路。。构图然后跑SPFA,没什么难点。主要是初始化一定要足够大,不然第三个点会被坑到。。#include#include#includeusing namespace std;int n,m,x[101],y[101],a,b,s,t,que[1001],head=1,tail=1;float map[101][101],dis[101];bool fl原创 2016-11-01 23:58:56 · 429 阅读 · 0 评论