(~ ̄▽ ̄)~POJ
美团外卖
乘风破浪
展开
-
poj2965
题意,门锁住了,要打开,+代表关闭,-代表打开,DFS枚举所有情况,找最优解。(然而对我来说这并不容易) 题题题 咸鱼开始表演。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int map[10][10],flag=0,ans;struct bbq{ int x,y;};bb原创 2017-05-13 21:33:55 · 207 阅读 · 0 评论 -
POJ1789(最小生成树)(prim)
题目链接 Truck History Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 30488 Accepted: 11923Description Advanced Cargo Movement, Ltd. uses trucks of different types. Some truc原创 2018-01-21 21:22:53 · 229 阅读 · 0 评论 -
POJ1833(水题)(STL)(注意输出?)
题目链接找一个长为n的数字排列以后的第K个排列,例子题目里给了,也不是很难理解,一下子就想起来一个STL的函数基本功能就是这样: next_permutation 和 prev_permutation bool next_permutation(num,num+n)//num数组里的前n个数字 功能就是找到下一个比现在大的数字排列(直接修改num数组),比如012的下一个是021,然后原创 2018-01-15 22:33:13 · 208 阅读 · 0 评论 -
POJ2485(最小生成树)(水题)
题目链接 Highways Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 33893 Accepted: 15320Description The island nation of Flatopia is perfectly flat. Unfortunately, Flatopia has原创 2018-01-24 20:50:36 · 455 阅读 · 0 评论 -
POJ1258(最小生成树)(裸题)
Agri-Net Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 63575 Accepted: 26300Description Farmer John has been elected mayor of his town! One of his campaign promises was t原创 2018-01-24 21:01:41 · 194 阅读 · 0 评论 -
POJ1088(二维最长下降序列?)(我觉得是搜索)
题目链接滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 102305 Accepted: 38923Description Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Mich原创 2018-01-17 18:53:14 · 268 阅读 · 0 评论 -
POJ1091(容斥原理)(简单欧几里得)
题目链接跳蚤 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10856 Accepted: 3371Description Z城市居住着很多只跳蚤。在Z城市周六生活频道有一个娱乐节目。一只跳蚤将被请上一个高空钢丝的正中央。钢丝很长,可以看作是无限长。节目主持人会给该跳蚤发一张卡片。卡片上写原创 2018-01-17 21:19:29 · 688 阅读 · 1 评论 -
POJ3026(最小生成树)(BFS)(注意输入)
题目链接 Borg Maze Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 15796 Accepted: 5141Description The Borg is an immensely powerful race of enhanced humanoids from the delta原创 2018-01-26 19:36:11 · 244 阅读 · 0 评论 -
kuangbin-poj题目归类
初期: 一.基本算法: (1)枚举. (poj1753!,~~poj2965~~) (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法:转载 2017-09-14 15:20:43 · 830 阅读 · 0 评论 -
POJ1183(数学题)(推公式)
题目链接 反正切函数的应用 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 15884 Accepted: 5685Description 反正切函数可展开成无穷级数,有如下公式(其中0 使用反正切函数计算PI是一种常用的方法。例如,最简单的计算PI的方法:PI=4arctan(1原创 2018-01-20 20:14:08 · 268 阅读 · 0 评论 -
POJ1061(扩展欧几里得)
题目 青蛙的约会 Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 123023 Accepted: 26203Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面。它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止。可是它们出发之前忘记了...原创 2018-02-24 11:14:21 · 145 阅读 · 0 评论 -
POJ1321(DFS)
题目链接中文题。 便利每一行,分别有放和不放棋子两种情况,然后记录有哪些列放了棋子。然后DFS就好了。#include&lt;cstdio&gt;#include&lt;cstring&gt;#include&lt;algorithm&gt;#include&lt;queue&gt;using namespace std;char s[9][9];int原创 2018-03-12 20:40:11 · 120 阅读 · 0 评论 -
POJ1091(拓扑排序)
题目链接 题意:给定n与m,表示会出现前n个大写字母,组成m个不等式。问能否判断给定字母的大小关系,并且判断第几个不等式之后可以判断成功,还要判断第几个之后会出现循环。情况分析都在代码里了。 可怜我少了一个点wa了一晚上。#include<cstdio>#include<algorithm>#include<cstring>#include&l...原创 2018-03-29 19:07:12 · 310 阅读 · 0 评论 -
POJ3020(最小路径覆盖)
题目链接这题意是真的醉了,强行增加难度。(六级没过的人的泪水。) 题意: 给你一个图,*代表城市,圆圈代表空地,要用什么发射器覆盖所有城市,一个发射器可以覆盖两个城市(上下左右)。问最少需要多少个发射器。题解: 可以先对图上所有城市进行编号,记下城市数量mount,然后搜索整个图,对于一个城市可以与他上下左右的城市建边。这样建图就完成了。跑一个二分图匹配。然后答案就是mount - ...原创 2018-03-29 20:57:56 · 170 阅读 · 0 评论 -
POJ3186(区间DP)
题目链接题意:有一个双向队列,可以从中取数,取出的第k个数乘以k就是这个数的价值,然后求所有数的最大价值。题解: 容易得到dp[i][j]=max(dp[i+1][j]+v[i]∗(n−j+i),dp[i][j−1]+v[j]∗(n−j+i))dp[i][j]=max(dp[i+1][j]+v[i]∗(n−j+i),dp[i][j−1]+v[j]∗(n−j+i))dp[i][j] = m...原创 2018-04-16 20:34:40 · 489 阅读 · 0 评论 -
hihocoder1175
题目链接中文题。 没有注意在拓扑排序的过程中也要取模。 记一下。#include<cstdio>#include<algorithm>#include<cstring>#include<queue>#include<cmath>#include<vector>using namespace std;...原创 2018-03-28 19:55:53 · 105 阅读 · 0 评论 -
POJ1651(区间DP)
好像区间DP都是枚举起点终点然后找一个中间状态进行一种类似松弛一样的更新??? 题目链接 题意:给定一组数字,从中任选除了首尾之外的数字,每次拿数字的花费为这个数这个数之前的数这个数之后的数,求总花费最小。题解: 区间DP dp[i][j]从i到j的最优解。 比较容易想到通过求解小区间最优解得到最后总区间的最优解。 很明显当l == r - 1时候DP值为0 当l == r - ...原创 2018-04-24 18:37:58 · 605 阅读 · 2 评论 -
POJ2253 -最短路-
题目链接题意:有一只青蛙A在1号位置,另一只青蛙B在2号位置,A要去找B玩,然后已知池塘里很多石头的坐标,问青蛙A一次最短跳多少能跳到2号位置。题解: 在最短路的松弛操作时,更新最大距离。 if(dis[i]>max(dis[now],arr[now][i]))if(dis[i] > max(dis[now] , arr[now][i])) dis[i]=max(dis[now],arr[n原创 2017-11-21 21:02:54 · 162 阅读 · 0 评论 -
POJ1062(有限制的最短路)
题目题意:你要娶酋长的女儿(23333)但是酋长要聘礼,你没钱,所以要去找他想要的讨好他。你拿到他想要的他就少要你的钱。(然后递推2333)题解:把酋长的女儿也看做商品,记作1,然后添加一个0点,每个物品原来的价值就是它编号到0的距离。跑一个从0到1的最短路。 但是他是有限制的,等级高的不能和等级比他低m个等级以下的做交易。所以就枚举等级上下限,下限(酋长等级-m~酋长等级),上限(酋长等级~酋长原创 2017-09-30 13:51:28 · 352 阅读 · 0 评论 -
POJ1753
一道枚举题,刚开始想用位运算。。。。。想的很完美,但是发现实现有点困难,暴力。。。。。DescriptionFlip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each piece is white a原创 2017-05-10 22:30:06 · 242 阅读 · 0 评论 -
博弈论习题
poj2234真。裸题。#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int main(){ int n; while(~scanf("%d",&n)) { int ans=0,s; ...原创 2017-05-25 19:16:56 · 525 阅读 · 0 评论 -
poj3069(贪心)
题目题意:有n个点,给你一个R,要标记一些点,要求标记的点左右R距离内必须有被标记的点,且标记点数最小。求有多少点被标记。 题解:较为简单的贪心,直接枚举最左端点寻找R距离内的中心作为标记点然后再去找右端点,扫一遍就好了。 (小白上的题目,我的代码和小白代码都贴上。) 我的代码#include<cstdio>#include<algorithm>#include<cstring>usin原创 2017-09-26 16:42:41 · 216 阅读 · 0 评论 -
poj3253(贪心)
题目题解:用优先队列每次取最小的两个合并,记录一下。最后就是答案了。注意要用longlong (小白的代码好长。我觉得我的代码更简练) 代码:#include<cstdio>#include<algorithm>#include<cstring>#include<queue>using namespace std;#define ll long longpriority_queue<原创 2017-09-26 17:40:37 · 237 阅读 · 0 评论 -
poj1860(spfa)
题目题意:题意就是给你一些钱和一些货币兑换点,问你能否经过一系列兑换使自己钱的价值增加(好神奇的操作)题解:这题好久之前好像做过,但是当时太菜了应该看了题解草草过了,这样来看就是要看所给的图中是否有一个正环。 用spfa解决就好了,还可以用floyd或者贝尔曼福德。 刺激。#include<cstdio>#include<algorithm>#include<cstring>#includ原创 2017-09-26 19:59:53 · 394 阅读 · 0 评论 -
poj2431(优先队列)
题目题目:一辆车要从一个城市到另一个城市,给你距离L和出发时的汽油总量P,路上里终点XiXi的的地方有加油站可以加YiYi汽油,问最少加几次油能到达终点,如果不能到达输出-1. 题解:将离终点距离转化为离起点距离,一直走,等汽油消耗完了之后再从前面走过的加油站中选取可加油量最大的一个,重复这样。用优先队列维护。#include<queue>#include<cstdio>#include<al原创 2017-09-29 11:34:21 · 216 阅读 · 0 评论 -
poj1573(模拟)
题目又是一个模拟,跟着题意来就好了,我懒得设两个数组一个表示标记一个表示步数,所以传参的时候要传1.#include<cstdio>#include<cstring>#include<algorithm>int n,m,k;int cnt[110][110];char map[110][110];void dfs(int x,int y,int temp){ if(x >= n原创 2017-09-15 20:56:27 · 251 阅读 · 0 评论 -
poj2632(模拟)
题目题意:就是按照题意模拟就好啦。 WA了6发,各种细节错,(但是能A了还是很高兴哈哈哈)#include<cstdio>#include<algorithm>#include<cstring>#include<map>using namespace std;int t,n,m,num,ac,a,b;struct bbq{ int x,y; char f[2];} e原创 2017-09-15 19:45:16 · 249 阅读 · 0 评论 -
poj3295(构造法?)
题目题意: 给了p,q,r,s,t五个字母,还给了K,A,N,C,E五种关系。 五种关系分别为: K :w&&xK :w&&x A:w||xA: w||x N:!wN: !w C:(!w)||xC:(!w)||x E:w==xE:w==x 判断所给的字母串是不是重言式(刚学了离散。。。)。 只需要从后往前便利一遍就好了,如果是字母就压入栈中,如果是关系就从栈中取出相应个数的字母进行原创 2017-09-13 20:07:24 · 566 阅读 · 0 评论 -
poj3281 最大流
题目题意:有N头奶牛,有F种食物,D种饮料,每头奶牛有自己喜欢的食物和饮料。问能让多少头奶牛满意。题解: 画出图来这个题就简单很多了。 样例: (嘿嘿,food和cow以及cow和drink之间的太多了就没画) 把食物标号+100存下来,奶牛本身不变,但是要再加上一列奶牛标号+200(为了保证每头奶牛只被使用1次)然后饮料+300,然后从0-505找最大流。#include<cstdio原创 2017-08-31 20:30:15 · 180 阅读 · 0 评论 -
poj2993 2996(模拟)
29932996题意: 2996 是给你一个棋盘,让你输出棋盘上棋子的坐标。 2993是给你棋子的坐标,输出原来的棋盘。 样例就是输入输出反过来。 因吹斯听。(2993的输入好烦好智障。string强无敌。) 题解: 没什么好说的,含着泪写就行了。 2996:#include<cstdio>char s[40][40];int main(){ int flag = 0;原创 2017-09-22 12:19:25 · 240 阅读 · 0 评论 -
POJ3041(二分图匹配)
题意:在N*N的网格中有K个小行星,已知行星位置,然后依次消除一行或者一列的小行星,消除所有小行星需要多少次?题解:根据每一个行星的位置,(x,y),就将x,y+n之间建边,建边之后对应图为:这里的边代表是行星,这里左边的点是代表一行,右边的点代表一列,选择了u1则代表u1-v1和u1-v3的点全部被消除掉,那么问题就转换成了最小顶点覆盖。 最小顶点覆盖是NP问题,不过这是在二分图中,所以最小顶点原创 2017-10-12 21:23:06 · 258 阅读 · 0 评论 -
POJ3057(二分图匹配)
题意: 有一个X*Y的房间,‘X’代表墙壁,‘D’是门,‘.’代表人。这个房间着火了,人要跑出去,但是每一个时间点只有一个人可以从门出去。 问最后一个人逃出去的最短时间,如果不能逃出去,输出impossible。 题解: 对每个门进行bfs,算每个人到达这个门的时间,看在时间t内所有人能否逃出去。如果不能,时间t就+1.检验所有人能否逃出去就看时间与门的二元组与人所组成的二分图的最大匹配数与原创 2017-10-15 14:58:07 · 517 阅读 · 0 评论 -
POJ1275 Cashier Employment (差分约束)
好难的一个题,写不了题解,思路是照着大牛的。所以只贴代码吧。 另贴一下大佬博客:传送门#include<bits/stdc++.h>using namespace std;#define inf 0x7fffffffconst int maxn = 1005;int head[2 * maxn], n, m,cnt[2 * maxn],nm,k,low[2 * maxn],R[25],b转载 2017-10-08 13:46:05 · 196 阅读 · 0 评论 -
POJ3169(差分约束系统)
题目差分约束系统: 对于一个不等式 a−b<=ca - b <= c,建立一条从b到a的权值为c的边,然后求最短路,得到最大值。 对于一个不等式 a−b>=ca - b >= c,建立一条从b到a的权值为c的边,然后求最长路,得到最小值。 如果有负环的话就无解。题解: 对于1-N的每一头牛都满足: a[i]−a[i+1]<=0a[i] - a[i+1] <= 0 对于关系好的牛来说:原创 2017-10-01 16:50:31 · 314 阅读 · 0 评论 -
POJ3616(最长上升子序列)
题意:母牛要规划自己后面n个小时的行程,然后农夫有一个时间间隔的表,表示在某一段时间间隔之间母牛可以产出多少奶,问最多可以产多少奶。做了这么多题,DP能力没有多少长进,英语阅读能力到是强了。。。 题解:把时间间隔按开始时间从小到大排序,然后写一个最长上升子序列的变式就好了。#include<cstdio>#include<cstring>#include<...原创 2018-04-20 20:28:17 · 271 阅读 · 0 评论