自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

十动然拒,不明觉厉

虐着虐着,就感觉到累觉不爱,男默女泪,啊痛悟蜡,细思恐极了。

  • 博客(17)
  • 收藏
  • 关注

原创 BUAA 晴天小猪爱61

Limit Time Limit : 2 s Memory Limit : 131072 KB Description 晴天小猪是一个正儿八经的人。他听说昂神大二就那么神了,真是太仰慕了。 " style="margin:0px; padding:0px; border:0px none"> 他听说昂神的id是Sd0061,所以他觉得含有61的的数字最喜欢了! 小猪觉得觉

2013-12-10 02:18:10 1261

原创 Erdos Numbers

题目大意: 给出P个栏目 每个栏目分别由几个作者一起出版,输入的方式为: 作者名1,作者姓1.作者名2,作者姓2 ……作者名n,作者姓n 每个栏目的作者之间有关系 给出N个询问 每个询问输入的为 作者名,作者姓。问通过几层关系,能找到“Erdos, P.”这个人,若能查到则输出“作者名,作者姓:(关系数目)”,若不能查到,则输出“作者名,作者姓: infinity\n” 题目思

2013-12-06 12:24:30 1182

原创 Atlantis

题目大意: 给出N个矩阵,矩阵会重叠,求矩阵围成的面积 SUCH AS: 黑色部分就代表所求的面积。 题目思路: 线段树扫面线,画个图,我们可以把矩阵变成这样一个图形 按照X轴进行排序,从左到右扫描,将各个不同颜色的长方形进行想家就可以得到答案 #include #include #include #include using namespace std;

2013-12-05 11:31:44 579

原创 POJ 3905

题目大意 给出n个人,m种情况 有4种选择输入的方式 +i +j:两个人中至少选择一个人 +i -j:至少满足选择i或者不选择j的其中一个 -i +j:至少满足不选择i或者选择j的其中一个 -i -j:至多能选择i或者j的其中一个 题目解法 直接用2-SAT简单建图,套用模板直接干就OK //#pragma comment(linker,"/STACK:102400000

2013-11-20 12:05:24 743

原创 POJ 2060 Taxi Cab Scheme

题目大意: 出租车公司有n个预约, 每个预约有时间和地点, 地点分布在二维整数坐标系上, 地点之间的行驶时间为两点间的曼哈顿距离(|x1 - x2| + |y1 - y2|)。一辆车可以在运完一个乘客后运另一个乘客, 条件是此车要在预约开始前一分钟之前到达出发地, 问最少需要几辆车搞定所有预约。 #include #include #include #include usi

2013-11-19 16:15:40 723

原创 POJ 1330 LCA入门题(Tarjan)

#include #include #include #include using namespace std; #define N 100010 #define bug(a) cout<<a<<"******"<<endl; int ok; int fa[N],node[N],vis[N],anc[N],ans; struct node { int to; int next; }e

2013-10-20 11:50:29 550

原创 4738 Caocao's Bridges (Tarjan求割边)

题目大意: 给出一幅图,然后每条边上都有一个权值,权值代表需要多少兵才可以炸断桥,求用最少的兵力使连通图变得不连通。 题目思路: 其实这题。。很简单,就是有两个坑。 (1)就是某个边权值为0的时候是要派出1个兵去炸的 (2)他会给出不连通的图,所以当Tarjan进行了两次以上的时候便输出0 #include #include #include using namespace std

2013-09-17 16:18:10 426

原创 HDU 4739

题目大意: 找4个点能构成正方形,每次找到后去除4个点再找下一个正方形。求能构成最多正方形数量有几个点 题目思路: 暴力DFS。 #include #include #include using namespace std; int vis[200][200]; int ans,n; struct node { int x,y; }p[200]; int dfs(int u)

2013-09-17 15:59:49 456

原创 HDOJ 4677 Query on Graph

题目大意: 给出一幅图,然后给出一段区间,求这段区间在这幅图中的连通块的个数 题目思路: 并查集+分块算法 #include #include #include #include #include #include using namespace std; #define N 30030 vectoredge[N]; int ans[N]; int Lfa[N],vis[N],Rfa[N

2013-09-11 10:28:27 588

原创 POJ3667 Hotel(线段树)

题目大意: 给出有几间房,然后度假的人要来住房,度假的人假设有N个人,那么N个人必须住的连在一起,当能满足条件时候,输出可以入住的最左边的房间 题目思路: 线段树区间合并#include #include #include using namespace std; #define N 50010 #define L(a) (a<<1) #define R(a) ((a<<1)|1)

2013-09-07 22:13:44 491

原创 POJ Mayor's posters (线段树+离散化处理)

题目大意: 在墙壁上贴广告,广告的版面有大有小,并且贴广告有先后之分,后面贴的广告会覆盖前面的广告。 输入的测试用例解释: 第一行为T组case 第二行为有N张海报 后面N行,每行两个数字,代表海报的宽度从x-y,海报高度都一样所以可以忽略不计。 输出: 露出来的海报有多少个 #include #include #include #include using namespace

2013-08-30 00:06:48 498

原创 POJ 3625 Building Roads(Prim水题)

。很水,不说话了,直接睇代码吧 #include #include #include #include #include using namespace std; #define N 2010 double x[N],y[N]; double map[N][N],dist[N]; bool vis[N]; int n,m; double dis(double x,double y,double

2013-08-28 23:16:04 478

原创 POJ 3626 Mud Puddles(超简单BFS)

水题,直接BFS,什么都不说了 #include #include using namespace std; #define N 1010 int map[N][N]; const int dir[4][2] = {{1,0},{-1,0},{0,1},{0,-1}}; int ex,ey; class node { public: int x,y,step; void in(int _x

2013-08-28 14:29:24 615

原创 HDU 4354 Missile(树形DP)

题目大意: 给出C个城市,这C个城市中每个都属于M个国家中的某个国家, 然后敌人想炸毁K个国家的城市。 然后特别的是,两个国家如果有关系那么只能摧毁其中一个,关系没有传递性 关于输入的测试用例: 首先,先输入一行T,代表有T组CASE                                 然后输入C,N,K,M                 C:代表有C座城市     

2013-08-27 14:50:13 606

原创 POJ 1655 Balancing Act(简单树状DP)

题目大意: 给出N个点,N-1条边,删除一个点后分成至少两棵子树,子树中点最多的那棵就称说它Balance 输出:Balance最小的点,和删除该点后的Balance值 思路: 树形DP 用presum来记录该点前的总点数目 然后用sum来记录包括目前点的总的点数 那么连在同一点的其他子树的点数目就为n-sum-1 然后可得dp[u]={presum,n-sum-1}; #inc

2013-08-26 15:24:56 580

原创 HDU 4699 Editor (双栈)

题目大意: 模拟光标动作 输入个N,代表有N个动作 动作共有5个 I x:代表在光标之后插入x D:删除在光标之前的元素 L:将光标向左移动一位除非光标在最开头 R:将光标向右移动一位除非光标在末尾 Q k:代表求出max{S1,S2.......Sk}, Sk=1+2+....+k; 思路: 用双栈,一个用来记录光标左边元素记为L,一个用来记右边元素记为R,如果向左移则L出栈

2013-08-24 19:29:13 543

原创 HDU 4687 带花树

#include #include #include #include using namespace std; #define N 1010 int n,m; int link[N],fa[N]; int base[N];//属于哪朵花 int q[N],inq[N]; int g[N][N]; int inflower[N]; int vis[N]; int head

2013-08-22 02:03:49 675

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除