
vj
Jerry233
acm小白-从入门到出门左转
展开
-
HihoCoder - 1041: 国庆出游(dfs、邻接表)
题目链接:HihoCoder - 1041: 国庆出游 题目大意:已知n个城市之间有n-1条路,现在给定部分城市的旅游顺序,问能否刚好每条路都走两次,且按给定顺序参观完成旅行思路:经典dfs搜索,先用bitset计算每个节点的子节点(按位或运算加速),定义vector存邻接表,并用一个二维数组存各城市的连接情况,即邻接矩阵,然后将给定的旅游顺序存到一个一维数组,用这个顺序进行dfs搜索,原创 2017-08-01 08:47:30 · 374 阅读 · 1 评论 -
POJ - 2785 : 4 Values whose Sum is 0(二分、STL上下界函数)
题目链接:POJ - 2785 : 4 Values whose Sum is 0 题目大意:四组数中各选一个使满足a+b+c+d=0,问有多少种组合方式 思路:先a+b和c+d组合分别得到一个数组,排序后可以用二分,但这里需要注意一点,前面我们用二分是查找存不存在使满足条件的组合,很简单,而这里是要我们计算有多少种组合,所以二分的时候要先用二分查找有序数组中满足条件的第一个值,然后向后搜原创 2017-08-01 09:53:02 · 405 阅读 · 0 评论 -
HDU - 2141:Can you find it?(二分搜索)
题目链接:HDU - 2141:Can you find it? 题意:给你三组数,要你各从三组数中挑出一个,满足Ai+Bj+Ck=X" role="presentation" style="position: relative;">Ai+Bj+Ck=XAi+Bj+Ck=XA_i+B_j+C_k = X,若满足输出YES,否则NO 思路:典型的二分搜索,先A、B求和并排序,然后二分搜索ab原创 2017-07-30 09:40:57 · 698 阅读 · 0 评论 -
HDU - 2199:Can you solve this equation?(二分求根、零点逼近)
题目链接:Can you solve this equation? 题目大意:多项式求根,精确到10-4,数据范围是0到100 思路:很明显该多项式在0到100是递增的,故可以用零点逼近法,先求出多项式的最大值和最小值,然后在这个区间二分搜索,直到满足精度为止 AC代码:#include#include#includeusing namespace std;doubl原创 2017-07-30 09:56:20 · 309 阅读 · 0 评论 -
HDU - 1896 : Stones(优先队列、有序对)
题目链接:HDU - 1896 : Stones 题意:路上有一些石头,首先告诉你石头的坐标,接下来玩个丢石头的游戏,你往前走遇到的第奇数个的石头可以丢,投掷距离和坐标同时给出,遇到的第偶数个的石头原地不动。但注意!当一个坐标同时有几个石头时,你先遇到的是投掷距离最近的石头(这一条件在判断哪个石头是第奇数个遇到的以及该不该扔时很重要,说白了就是影响优先级排序)。问这样下去,最后距离起点最远的石...原创 2017-07-27 23:09:46 · 432 阅读 · 0 评论 -
HDU - 1150 : Machine Schedule(二分图、最小点覆盖)
题目链接:HDU - 1150 : Machine Schedule 题目大意:有A和B两台机器,A有n种工作模式,B有m种工作模式,现在有k个任务,每个任务可以被A的第x种模式执行,也可以被B的第y种模式执行,机器的初始工作状态在0模式,但是机器每换一种工作模式就需要重启一次,现在请你合理为机器安排任务,使得重启次数最少原创 2017-08-24 14:12:29 · 329 阅读 · 0 评论 -
HDU - 4841: 圆桌问题(vector模拟、字符串模拟)
题目链接:HDU - 4841: 圆桌问题 题意:中文题目,意思应该很清楚,就不啰嗦了 思路:可以用vector模拟,当然也可以直接用字符串模拟,初始化全部为好人,按照规则模拟将指定未指定的好人变成坏人,当只剩下n个人时,模拟结束,输出序列原创 2017-07-28 08:29:42 · 613 阅读 · 0 评论 -
HDU - 1022 : Train Problem I(栈模拟)
题目链接:HDU - 1022 : Train Problem I 题意:告诉了火车进出战的顺序,问能可不可行,可行的话把输出进出站方案,否则输出No 思路:用栈模拟火车进出站,匹配输出序列,若栈顶与输出相同,就出栈,并vector标记进出战,若比较到了栈的末尾,说明可行,否则不可行原创 2017-07-28 08:15:05 · 237 阅读 · 0 评论 -
CSU: B - Lawn mower
Lawn mower Time limit 1000 ms Memory limit 131072 kB description The International Collegiate Soccer1 Competition (ICSC) is famous for its well-kept rectangular stadiums. The grass playing fields原创 2017-07-14 18:39:57 · 356 阅读 · 0 评论 -
COJ: A-SUM(贪心)
sum you're asked whether there exists a consecutive subsequence whose sum is divisible by m. output YES, otherwise output NO原创 2017-07-14 12:07:44 · 280 阅读 · 0 评论 -
CodeForces 702B: Powers of Two(遍历、穷举)
Powers of Two time limit per test: 3 seconds memory limit per test: 256 megabytes inputstandard input outputstandard output You are given n integers a1, a2, ..., ana_1, a_2, ..., a_n. Find the n原创 2017-07-15 11:14:49 · 480 阅读 · 0 评论 -
UVA: I Can Guess the Data Structure!(stl模拟)
题目链接:UVA - 11995 题意:给你一串序列并告诉进出顺序,要你判断这串序列是在什么数据结构中,有stack、queue、priority queue或者有多种可能或者都不可能 思路:直接把进去的序列用stack、queue、priority queue进行模拟,比较出来的序列和给定序列,记录符合条件的个数,再判断即可原创 2017-07-26 20:20:16 · 293 阅读 · 0 评论 -
POJ: Surprising Strings(map、字符串处理)
题目链接:POJ - 3096 题意:给你一个字符串,任意两个字符组成一个字符对,如果任意相同距离的字符对不存在相同的情况,则说明该字符串是奇异的,现在给出一些字符串让你判断并且以*结束 思路:遍历一遍所有的字符对,并将距离相同的字符对用map映射为1作为判断,用flag标记是否出现相同的字符对,一旦出现则NOT surprising原创 2017-07-27 08:42:31 · 402 阅读 · 0 评论 -
HDU - 1312 : Red and Black(dfs、bfs)
题目链接:HDU - 1312 : Red and Black 题目大意:.代表黑棋,#代表红棋,@代表黑棋的起点,棋可以上下左右四个方向移动到同类型棋的位置,现在给你一个w*h的棋盘,问你黑棋可以到达位置的数量,简单的说其实就是求与起点连通的黑棋的数量 思路:可以用dfs,当然也可以用bfs,从起点的四个方向开始搜索,当没有符合条件的位置可以走了就结束搜索,统计数量(用bfs还可以统计走了多少步)原创 2017-08-01 23:00:54 · 509 阅读 · 1 评论 -
CodeForces - 831C: Jury Marks(前缀和去重、STL)
题目链接:CodeForces - 831C 题意:有人去面试,他有一个原始成绩,然后k个评委依次打分,但是他并没有记住全部评委给他打分后的总分,只记得评委依次给他打的k个分数和其中的n个不同的总分,现在问你他的原始成绩有多少种可能取值 思路:先将评委依次给的k个评分前缀和排序后去重(很重要!!!),由于给出了n个中间的总分x,可以通过x−a[j]x-a[j]枚举所有可能的原始成绩,则这原创 2017-07-27 21:14:18 · 371 阅读 · 0 评论