- 博客(41)
- 收藏
- 关注
原创 BNUOJ 39423 暴力,DFS
最有的答案肯定是找到一些点的集合,这些点两两之间是朋友关系。考虑到n,m比较小,这样的集合最多只有14个点,暴力找点的集合先找出1 个点的集合,有n个这样的集合然后找出2个点的集合,找的时候要求编号比之前的大,这样就能保证不重不漏#include#include#include#include#include#include#include#include#
2015-08-26 15:14:09
616
原创 HDU5374 Tetris (2015年多校比赛第7场)大模拟
思路:先写好了几个函数。旋转,四种操作,判断是否可以进行合并消除题中有好几处要考虑的细节问题,如自然下落到底部时不进行合并的判断,而是当自然下落非法时才判断如果消除一行,这一行上面的所以方块只会下落一行,不存在直接下落到底部的情况比赛时题意没有理解好,错了这两个地方。。还有一些写法上的错误,这种左右移动的题目坐标还是要从1开始,方便许多左右移动,如果非法要复原的
2015-08-12 11:55:30
715
原创 HDU 5336多校 十滴水模拟
Problem DescriptionXYZ is playing an interesting game called "drops". It is played on a r∗c grid. Each grid cell is either empty, or occupied by a waterdrop. Each waterdrop has a property "size"
2015-07-31 11:48:51
651
原创 HDU 5319多校 模拟
Problem DescriptionMr. Hdu is an painter, as we all know, painters need ideas to innovate , one day, he got stuck in rut and the ideas dry up, he took out a drawing board and began to draw casuall
2015-07-28 21:46:48
558
原创 搜索总结
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=65959#status大约做了一周的kuangbin带你飞搜索专题,也逐渐对搜索慢慢熟练了起来。一般的搜索就是DFS和BFSDFSDFS就用递归来写,需要注意的地方递归返回时要恢复变量,递归改变和恢复的都是下一层的变量要求输出路径的时候,我比较喜欢用son数组来记录,这样输出的时候直接顺
2015-07-25 11:25:38
578
原创 HDU 2181 DFS
Problem Description一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市。 Input前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行以后每行有1个数m,m=1.m=0退出. Output输出从第m个城市出发经过每个城市1次
2015-07-24 10:10:49
577
原创 HDU 5289 单调队列,multiset
第一种做法:使用multiset#include#include#include#include#include#define ll long longusing namespace std;multiset s;multiset ::iterator it;ll a[100100];int main(){ int t; cin>>t; while
2015-07-22 20:31:23
429
原创 POJ 3279二进制枚举
DescriptionFarmer John knows that an intellectually satisfied cow is a happy cow who will give more milk. He has arranged a brainy activity for cows in which they manipulate an M × N grid (1 ≤ M ≤
2015-07-20 21:06:12
452
原创 HDU1495 BFS
Problem Description大家一定觉的运动以后喝可乐是一件很惬意的事情,但是seeyou却不这么认为。因为每次当seeyou买了可乐以后,阿牛就要求和seeyou一起分享这一瓶可乐,而且一定要喝的和seeyou一样多。但seeyou的手中只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S Input三个整数 : S 可乐的体积 ,
2015-07-20 10:08:41
352
原创 hdu2612 两遍BFS
Problem DescriptionPass a year learning in Hangzhou, yifenfei arrival hometown Ningbo at finally. Leave Ningbo one year, yifenfei have many people to meet. Especially a good friend Merceki.Yifen
2015-07-18 15:48:52
370
原创 POJ 1426 DFS BFS两种写法
DescriptionGiven 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 tha
2015-07-17 16:29:41
475
原创 POJ 3984 BFS 打印路径
Description定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0,};它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线
2015-07-17 15:09:39
422
原创 CF 551 B 水题
B. ZgukistringZtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputProfessor GukiZ doesn't accept string as th
2015-06-17 20:00:09
551
原创 HDU 5265 二分
http://acm.hdu.edu.cn/showproblem.php?pid=5265首先将数组中的数取模后排好序那么数的范围就是0~p-1,两个数相加的范围0~2*p-21. 如果x+y2. 如果x+y≥p,那么结果就是x+y-p由此可以推断出,第二种情况的最大答案就是两个最大值相加减去p 第一种情况的求解可以用二分法求解lower_boun
2015-06-08 14:48:58
529
原创 CF 474D Flowers DP
状态转移方程 d[i] [1] 表示长度为i最后一个字母为W d[i] [0] 表示长度为i最后一个字母为R d[i] [1] = d[i-k] [1] + d[i-k] [0] ; d[i] [0] = d[i-1] [1] + d[i-1] [0] ;这两个可以合并起来 d[i] = d[i-1] + d[i-k] ;
2015-02-17 16:44:09
815
原创 CF 467C DP George and Job
转移方程d[i+1] [j] = s[j+m-1] - s[j-1] + max ( d[i] [x]), (1d[i] [j] 表示第i个区间以第j个数开始的最大值。另外后面求最大值有个优化方法,因为每一次j总增加1,也就是x只增加1个值,所以只需把当前的和最大值比较就可以了。#include #include #include #include #in
2015-02-17 01:31:50
452
原创 CF 445A Boredom DP
题目大意:一个数列,每次可以去掉一个值为a的数,同时也会删掉所有值为a-1,a+1的数。这样一个操作得到a分,问把这个数列清空则最多可得到多少分分析:对于值为i的数,只有选或不选两种可能。令d[i][1]等于选择值为i的数可以得到的最大分数。 d[i][0]为不选择可以得到的最大分数。num[i]表示值为i的数量。则 d[i][1]=d[i-1][0]+
2015-02-02 00:28:46
518
原创 HDU5074 鞍山现场赛水DP
http://acm.hdu.edu.cn/showproblem.php?pid=5074状态转移方程:d[i][j]表示第i个数,选j可以得到的最大值d[i][j] = max(d[i-1][x]+a[x][j]) 1 if v[i]>0(第i个数不能改变) j = v[i]-1(m从0开始存入)if v[i-1]>0
2014-12-19 22:27:21
527
原创 CUGB14年校赛 C黄焖鸡与矩阵[粉色]
DescriptionCUGBACM队里面大家都喜欢吃黄焖鸡。一天,队员们都在实验室里面刷题。到了晚饭的时间,大家决定都订黄焖鸡。外卖送来了,机智的fz发现黄焖鸡的份数恰好可以构成一个m*n的矩阵。这时又发现,黄焖鸡少订了一份。fz决定出一道题考考大家来决定谁吃不上黄焖鸡。把黄焖鸡饭盒摆成m*n的矩阵。给定一个数k,表示你可以分割这个矩阵k次。每次分割都要求沿着一行或一列。这样你可以获
2014-12-08 13:54:55
922
原创 hdu 5124 line STL pair
http://acm.hdu.edu.cn/showproblem.php?pid=5124题意很好理解,bc比赛的时候好逗比,想到要离散化。赛后看了别人的代码,发现根本不用的。只需要记录一下每条线段的起点和终点,起点标记-1,终点为1,sort排序后,从前往后扫一下求最大值就是答案了。这里是用到了pair,很方便的写法。把起点的另一个值标记为-1,终点为1。这是因为sort是
2014-11-30 15:34:50
593
原创 TSP 动态规划
TSP问题Time Limit: 5000 ms Memory Limit: 65535 KBTotal Submit: 163 Accepted: 83 Description旅行商问题,即TSP问题(Travelling Salesman Problem)又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他
2014-11-30 15:28:36
1492
原创 CodeForces 25D Roads not only in Berland 并查集
题目大概意思是给定n个城市,n-1条边,询问是否可以从其中任何一个点到达其它所有的点。如果不满足的话,你可以删到一些没有用的边,即去掉这些边也可使图连通,然后再加一些边,使得满足题意。可以一边输入一边划分集合,如果发现加入这条边之前。该两点已经属于同一集合,则这条边明显可以删掉,然后把这些可以删掉的边保存起来。都输入完之后,对并查集进行处理,如果发现fa[i]==i,则
2014-11-27 19:50:40
591
转载 Manacher算法:求解最长回文字符串,时间复杂度为O(N)
回文串定义:“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。回文子串,顾名思义,即字符串中满足回文性质的子串。经常有一些题目围绕回文子串进行讨论,比如POJ3974最长回文,求最长回文子串的长度。朴素算法是依次以每一个字符为中心向两侧进行扩展,显然这个复杂度是O(N^2)的,关于字符串的题目常用的算法有KMP、后缀数组、AC 自动机,
2014-11-16 18:06:18
402
原创 coj-Checker Challenge
http://202.204.102.161/showproblem.php?problemid=1190
2014-07-01 23:46:09
800
原创 codeforces-Valera and Fruits
http://codeforces.com/contest/441/problem/B题目大一
2014-06-28 20:11:00
568
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人