OJ —— POJ
文章平均质量分 74
smwqd_yehua_cx
梦想,可以天花乱坠,理想,是我们一步一个脚印踩出来的坎坷道路。
展开
-
Stars POJ 2352(简单树状数组)
题目链接:http://poj.org/problem?id=2352题目描述:给定n个星星的(x,y)坐标,定义每个星星(x,y)的level值为在左下角的星星(x0 思路:输入保证了y值一定是非递减的,这样只要考虑x值就好,对于第i个星星,计算其前面(i - 1)个星星中x值小于它的星星数量就是其level值。用树状数组更新值和求和即可。代码如下:#include#inclu原创 2017-08-18 23:43:48 · 203 阅读 · 0 评论 -
POJ 3668 Game of Lines(暴力)
题目链接:http://poj.org/problem?id=3668题意:给定n个点,求一共能够产生多少条互不平行的线。错了好多次,原因有二:一是一开始没有用set储存斜率,忘记了set的去重功能非要自己判断这个斜率是否出现过,结果出错了;二是标记斜率不存在时习惯性的标记为返回-1,但事实上有斜率为-1的直线存在,思维定式简直能害死人啊!#include#include#in原创 2016-08-13 21:22:54 · 368 阅读 · 0 评论 -
POJ3669(BFS + 预处理)
点击打开链接题意:给出n各点的坐标及爆炸时间(每个点爆炸时都会同时殃及该点上下左右四个点),Bessie一开始在原点,求她至少走几步才能到达一个安全的位置不被炸死。分析:此题只要注意每个点储存的是该点最早的毁灭时间即可,其他的就是普通的bfs。我这个粗心的人啊,写着写着pp就写成了p,因此半天连样例都没过,还好有美丽学长帮我找错,虽然这错让人很无语,但是还是要谢谢学长啊,以后我尽量不犯原创 2016-08-13 21:32:50 · 922 阅读 · 0 评论 -
POJ 3673(水题)
点击打开链接#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int maxn = 10000 + 5;int main(){ char s1[50],s2[50]; while(~scanf("原创 2016-08-13 21:35:35 · 259 阅读 · 0 评论 -
POJ 3672 Long Distance Racing(水题)
点击打开链接#include#include#include#include#include#include#includeusing namespace std;typedef long long ll;const int maxn = 100000 + 5;int main(){ map mp; int M,T,U,F,D; int a[max原创 2016-08-13 21:39:02 · 321 阅读 · 0 评论 -
poj 3671(DP LIS 暴力)
题意:给定一串1,2组成的数字,求最少改变多少个数字能使这串数字使其前半部分全为1(或者没有),后半部分全为2(或者没有)。我的方法比较笨,直接枚举1的数量,看看需要进行多少次修改,取最小值即可。比赛后看了别人的代码,虽然大概思路是相同的,但是我的却用时很长,意识到自己之前的方法不太好于是又重新用另一种方法写了一遍。#include#include#include#include#in原创 2016-08-14 00:02:28 · 300 阅读 · 0 评论 -
POJ 3670(最长递增子序列 LIS)
点击打开链接题意:给定一串数字,求改变最小的数字使其变成升序或降序排列。暴力是不可能的,写着写着就把自己写晕了。看了他人的思路,使用DP写的,自己也推了一会,虽然是看过别人的思路才会的自己也推出来了,但是还是希望下次靠自己就能推出DP公式吧。#include#include#include#include#include#include#include#includeu原创 2016-08-14 00:29:39 · 305 阅读 · 0 评论 -
POJ 3312(水题)
点击打开链接题意:给定n个名字,取k个名字,若每个名字的长度与这k串名字的平均长度的差值(绝对值)都不大于2,则符合要求。判断这n个名字分成K组是否符合要求。#include#include#include#include#include#include#include#includeusing namespace std;const int maxn = 1e9;原创 2016-08-18 19:52:51 · 331 阅读 · 0 评论 -
POJ 3310(并查集判无环连通图)
题意:给定一个无向图,判断是否是一个caterpillar。是caterpillar的条件是:一,无环连通图。二,存在一条'脊柱',使所有的点要么在‘脊柱’上,要么与在‘脊柱’上的点相连。思路:可用并查集判断原创 2016-08-19 22:07:08 · 388 阅读 · 0 评论 -
棋盘问题 POJ - 1321 (简单DFS搜索)
题目描述:中文题不啰嗦了.......题目链接:https://vjudge.net/problem/POJ-1321思路:此题与八皇后问题很像,不过要求更简单:k个棋子只要不同行同列即可。用vis数组标记某一列是否放置了棋子,然后dfs逐行尝试放置即可。代码:#include#include#include#include#include#include#includ原创 2017-08-14 16:54:32 · 246 阅读 · 0 评论 -
Dungeon Master POJ - 2251 (三维空间BFS搜索)
题目链接:https://vjudge.net/problem/POJ-2251题目描述:给定一个长宽高分别为R、C、L的立体空间,S代表起点,E表示终点,"."表示可通过,"#"表示不可通过,每次可从当前坐标向前后左右上下六个方向移动,但是不可以对角移动。求起点到终点最短路,若不可达,输出“Trapped!”。思路;BFS常适用于搜索最短路径的解,BFS过程中搜索到的解一定是离根最近的,原创 2017-08-14 17:13:50 · 289 阅读 · 0 评论 -
Catch That Cow POJ - 3278 (BFS)
题目链接:https://vjudge.net/problem/POJ-3278题目描述:给定起点n,终点k,设当前坐标为x,则每次可移动到x-1、x+1和2*x位置,均耗时一分钟。求起点到终点是否可达,若可达,求所需最小时间。思路:bfs遍历即可,搜索到的第一个解离根最近,一定是最优点。代码:#include#include#include#include#include原创 2017-08-14 17:23:22 · 161 阅读 · 0 评论 -
POJ 3279 Fliptile(二进制枚举暴力)
题目链接:https://vjudge.net/problem/POJ-3279题目描述:给定一个n*m的01矩阵,当翻转一个位置的元素时它的上下左右4个位置的元素也会被翻转(0变成1,1变成0),求最少需要怎样翻转才能使所有元素全部变成0。输出每个位置所需的翻转次数,若有多种情况的翻转次数均为最小,则输出字典序最小的情况。思路:枚举第一行的翻转情况,m列共(1代码如下: #inc原创 2017-08-14 19:56:17 · 207 阅读 · 0 评论 -
开关问题 POJ 1830(高斯消元求解的个数)
题目链接:http://poj.org/problem?id=1830题目描述:中文题,POJ上的描述是:有N个相同的开关,每个开关都与某些开关有着联系,每当你打开或者关闭某个开关的时候,其他的与此开关相关联的开关也会相应地发生变化,即这些相联系的开关的状态如果原来为开就变为关,如果为关就变为开。你的目标是经过若干次开关操作后使得最后N个开关达到一个特定的状态。对于任意一个开关,最多只能进行一原创 2017-08-17 23:45:22 · 842 阅读 · 0 评论 -
HDU4161 Iterated Difference(模拟 + 递推)
题意很简单,题也很水,训练时是队友做的,赛后自己写了写感觉没啥难度。题意:给定一串数字,每次变化时每个数字等于这个数字与下一个数字的差的绝对值,问经过几次转变这一串数字变为相等的数字。直接模拟就好。#include#include#include#include#include#include#includeusing namespace std;const int m原创 2016-05-11 17:42:23 · 324 阅读 · 0 评论