自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Cifer

永远在内心的最深处听见水手说 他说风雨中这点痛算什么 擦干泪不要怕至少我们还有梦 他说风雨中这点痛算什么 擦干泪不要问为什么 好水 好水 好水 好水 好水 好水 好水 好水 !!!!

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

转载 vim 中文文档

转载地址:http://alexkogo.blog.163.com/blog/static/20753837720127219158179/安装中文帮助文档之前首先执行下列操作:在home目录下列新建文件夹  :.vim ------------------>.vim是一个隐藏文件,不要漏了 “.”.vim/plugin ---------->.vim目录下的plugin文件夹

2013-09-17 16:34:29 674

原创 UVA 112 Tree Summing

~~题目链接~~题目大意:用()表示空节点, (5)表示一个为5的节点, 5()() 表示叶子节点, 5(2)(6)表示当前节点为5, 左节点为2,右节点为6.现在给出一串字符串, 求是否有根节点到叶节点的值等于给定的值。code:#include #include using namespace std;typedef struct node{

2013-07-07 19:54:32 792

原创 UVA 548 Tree

~~题目链接~~题目大意:给出前序遍历和后序遍历, 求出树中根节点到叶节点的最短路径上叶节点的值, 如果有多条选叶节点最小的。code:#include #include #include #include #define inf 0x7fffffffusing namespace std;int ans = 0, Min = 0;vector V

2013-07-07 16:01:49 778

原创 UVA 297 Quadtrees (4叉树)

~~~题目链接~~题目大意:根据题目的要求可以把矩形(32*32)转换成4叉树, 现在给出2个矩形, 2个矩形相加求出第三个矩形,然后求第三个矩形黑色像素所占的面积。 code:#include using namespace std;typedef struct node{ char ch; struct node *nt[4];}

2013-07-07 13:29:43 703

原创 USACO Transformations

~~~题目链接~~~题目大意:一块N x N(1<=N<=10)正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式:#1:转90度:图案按顺时针转90度。#2:转180度:图案按顺时针转180度。#3:转270度:图案按顺时针转270度。#4:反射:图案在水平方向翻转(形成原图案的镜像)。#5:

2012-11-30 19:14:26 553

原创 HDOJ 1003 Max Sum

~~~题目链接~~~思路:前几个数的连续和加上当前这个数, 如果比当前这个数小就从当前这个位开锁重新记区间,否则加入当前区间,注意有负数, 不能用连续的几个数和小于0做结束判断 code:#include #include using namespace std;int main(){ int i = 0, j = 0, t = 0, x = 0,

2012-11-30 19:12:18 433

原创 POJ 1018 Communication System (枚举)

~~~题目链接~~~题目大意:现有n个通讯点, 要从n家通讯商那,每个通讯商中选出一个设备, 要求所选设备的带宽中最小的做为最小带宽B, 总价格为P, 现在要求求出B/P的值最大思路:依次枚举B能到的值code:#include #include #define inf 0x7fffffffusing namespace std;stru

2012-11-30 19:11:41 426

原创 POJ 1050 To the Max

~~~题目链接~~~题目大意:现给出一个矩阵, 现在求这个矩阵中子矩阵最大和是多少思路:子矩阵是连续的一块, 可以把它看成一个整体, 如矩阵第1第2行相加合并后成为单独的一行, 对这行求最大连续和就是求这2行矩阵的子矩阵和最大code:#include #include #define inf -0x7fffffffusing namespace

2012-11-30 19:07:48 440

原创 POJ 1088 滑雪

~~~题目链接~~~题目大意:给出一个n*m的矩阵, 要求求它的最大递减序列的长度, 序列的路径为在矩阵中连续的一条路线思路:记忆化搜索, DP#include #include using namespace std;int n = 0, m = 0, map[102][102], num[102][102];int cur = 0,

2012-11-30 18:59:14 466

原创 POJ 1125 Stockbroker Grapevine

~~~题目链接~~~题目大意:思路:先用floyd求出任意两点间的最短距离, 在依次枚举每个点为起点的时间, 选时间最小的点#include #include #define inf 100000000using namespace std;int n = 0, m = 0, map[102][102];void floyd(){

2012-11-30 18:57:59 474

原创 POJ 2305 Basic remains (大数余)

~~~题目链接~~~code:#include #include #include #include using namespace std;int a = 0, b = 0, k = 0, x = 0, y = 0;void translate1()//把k进制的数转化为10进制{ int cnt = 0; x = y = 0; whil

2012-11-19 22:47:54 842 1

原创 HDOJ 4228 Flooring Tiles (反素数)

~~~题目链接~~~题目大意:现有若干面积相同的小正方行, 给出n种面积相同的长方行, 问用最少用多少个正方行能恰好拼出n种长方行, 如n = 2, 这时最少用4个正方行可拼出2中长方形, 分别是1*4, 和2*2面积相同的长方形。定义  对于任何正整数x,其约数的个数记做g(x).例如g(1)=1,g(6)=4.如果某个正整数x满足:对于任意i(0

2012-11-17 19:25:49 654

原创 vijos P1033 整数分解(版本2)

~~~题目链接~~~思路:3 = 1+24 = 2+25 = 2+36 = 3+37 = 2+2+38 = 2+3+39 = 3+3+310 = 2+2+3+3..........通过分解发现把一个数分解成尽可能多的2与3就为最大值。code:#include #include #include using namespace std;

2012-11-08 20:15:06 710

原创 vijos p1042 捕风捉影

~~~题目链接~~~思路:这的上限为100000000, 直接对每个数判断要超时, 后来打表发现了最多到10000000有数, 这之后的数都不符合要求。所以上限调整为10000000code:#include #include #define N 10000002using namespace std;int is_prime(int x){ int

2012-11-07 23:17:51 695

原创 POJ 3468 A Simple Problem with Integers

~~~题目链接~~~思路:线段树, 更新区间求区间。code:#include #include #include #define N 100002//typedef __int64_t __int64;using namespace std;int n = 0, q = 0;__int64 t[4*N], cv[4*N];void build

2012-11-07 17:20:19 437

原创 HDOJ 1698 Just a Hook

~~~题目链接~~~题目大意:现给出一个区间, 刚开始时区间中的每个点对应的值为1, 现在更新q次, 把x-y区间的点的值全跟新为z, 现在求出整个区间点的值的和。思路:线段树, 跟新每个区间时只更新到覆盖的区间, 下回更新时再通过cv【】数组往下更新。code:#include #include #define N 100002using names

2012-11-06 21:25:55 480

原创 POJ 2828 Buy Tickets

~~~题目链接~~~题目大意:有一群人要插队, 现在给出组要插队的人要插到第几个人后, 和该人对应的编号, 求最后这个队列从头到尾所对应的编号。思路:一开始用线性表和链表试了下都超时了, 无赖想不出怎么用线段树, 可耻的看了解题报告, 换一个思路, 从最后一个人往回推,就有思路了。code:#include #define N 200002u

2012-11-03 20:17:17 677

原创 HDOJ 1394 Minimum Inversion Number (逆序数对)

~~~题目链接~~~题目大意:给出一个序列, 要求求出这个序列和他经过环移后, 逆序数对中最小的一个。思路;用线段树求逆序数, 每当加入一个数x时, 就求x~n-1有多少个数出现过, 出现多少就是多少逆序数对。求出一组序列后, 环移后的逆序数对可以用公式求出, 环移用STL实现code:#include #include #include #def

2012-11-03 15:46:50 490

原创 HDOJ 2795 Billboard

~~~题目链接~~~题目大意:在一个高为h, 宽为w的面板上贴上n张海报, 每个海报的高都为1, 每张海报能尽可能的贴在高度最高的地方, 当同一个高度有多个地方可以贴海报时,贴在最左边, 现在求每个海报能贴在哪个高度。思路:用线段树进行2分区间, 把高度看成区间。区间的高度为最小的(h, n), 注意n == 1时;code:#include #defin

2012-11-03 14:55:08 492

原创 UVa 12290 Counting Game

~~~题目链接~~~题目大意:有编号为1~n的n个人, 现在他们从左到右在从右到左依次的数数, 当前这个人如果数的数能被7整除或包含数字7他就用拍手来代替, 下一个人接着下一个数数。思路:第i个人开始时数的数为i, 他数的下两个数必然是, i+2*(n-i)和i+2*(n-i)+2*(i-1)。边界注意判断一下。code:#include #include

2012-10-21 16:15:58 786

原创 UVa 12291 Polyomino Composer

~~~题目链接~~~题目大意:给出一个图形,现要你判断 它是不是由2个基本图形(不能旋转))组合成的。Ps:开始用递归进行模拟, 老是超时, 还是用队友的方法过吧。code:#include #include #define inf 1234567890;using namespace std;int n = 0, m = 0, x1 = 0, x

2012-10-21 14:49:50 556

原创 HDOJ 1754 I Hate It

~~~题目链接~~~ps:这题数据太水了, 看以前错的代码都能过, 改了下应该是对的了。#include #include #define N 2000002#define max(a, b) a>b? a:bint n = 0, m = 0, ans = 0, Y[4*N], num[N];void update(int c, int l, int

2012-10-20 16:02:35 393

原创 CF 4D Mysterious Present

~~~题目链接~~~题目大意:先给出一张卡片的长和宽, 现在有n张信封, 每张信封都有一定的长和宽, 现在要求从这些信封中选出最多信封, 从左到右排列, 右边的信封的长宽都分别大于左边的, 且卡片能装入最左边的信封中。思路:对信封排个序后, 转化为求最长单调递增子序列。 和HDOJ 1069思路相差不多code:#include #include #

2012-10-19 18:09:25 452

原创 CF 4C Registration system

~~~题目链接~~~题目大意:先依次给出字符串, 如果前面这个字符串没有出现过就输出ok, 否则输出该字符串并在某位加上数字,表明是第几次重复出现。思路:用map水果code:#include #include #include using namespace std;int main(){ int i = 0, j = 0, k =

2012-10-19 18:09:07 549

原创 CF 4B Before an Exam

~~~题目链接~~~题目大意:现有d个区间, 现在在每个区间中选一个数,使得总和等于他给定的一个数。思路:先把每个区间的最小值选了, 在遍历每个区间, 如果当前这个区间的最大值选了还不能组合成sumTime,就选最大的数, 否则就选一个合适的数code:#include using namespace std;int d = 0, sum = 0,

2012-10-19 18:08:54 421

原创 CF 4A Watermelon

~~~题目链接~~~code:#include using namespace std;int main(){ int i = 0, j = 0, w = 0, flag = 0; while(cin>>w) { flag = 0; for(i = 2; i<=w/2 && flag == 0; i += 2)

2012-10-19 18:08:31 417

原创 POJ 1151 Atlantis

~~~题目链接~~~题目大意:给出每个矩阵的左下角坐标和右上角坐标,求出所有矩阵的面积思路:在x轴上划分, 在x轴方向求每相邻的两个点所在的矩阵面积。现在的关键就是求每两个点所在的矩形的高如何求, 用线段树来更, 这题最好不要用点树, 叶子节点为区间为1的节点, 这样方便求出y轴上的长度, 看代码吧#include #include using

2012-10-11 19:59:55 448

原创 HDOJ 1856 More is better

~~~题目链接~~~code:#include #define N 10000002int min = 0, max = 0, r[N], f[N];void init(){ for(int i = 0; i<N; i++) { r[i] = 1; f[i] = i; }}int find(int x){

2012-10-09 20:46:49 384

原创 HDOJ 1875 畅通工程再续

~~~题目链接~~~code:#include #include #include using namespace std;struct node1{ int x, y;}num[102];struct node2{ int s, t; double c; bool operator <(const node2 &s) const

2012-10-09 20:45:21 409

原创 HDOJ 1879 继续畅通工程

~~~题目链接~~~code:#include #include using namespace std;class node{ public: int x, y, c, flag; bool operator< (const node &s) const { return c<s.c;

2012-10-09 20:43:22 361

原创 HDOJ 1233 还是畅通工程

~~~题目链接~~~code:#include #include #include using namespace std;class node{ public: int x, y, c; bool operator< (const node &s) const { return c<s.c;

2012-10-09 20:42:10 381

原创 HDOJ 1232 畅通工程

~~~题目链接~~~code:#include #define N 1002int n = 0, m = 0, r[N], f[N];void init(int n){ for(int i = 0; i<=n; i++) { r[i] = 0; f[i] = i; }}int find(int x){ i

2012-10-09 20:41:09 318

原创 HDOJ 1272 小希的迷宫

~~~题目链接~~~code:#include #define N 100002int flag = 0, max = 0, num[N], rank[N], father[N];void init(){ for(int i = 0; i<N; i++) { num[i] = 0; rank[i] = 0; f

2012-10-09 20:39:36 338

原创 Vijos P1033 家族

~~~题目链接~~~水果~#include #define N 5002using namespace std;int n = 0, m = 0, p = 0, father[N], rank[N];int find(int x){ if(father[x] != x) father[x] = find(father[x])

2012-09-28 22:16:55 530

原创 POJ 2104 K-th Number (划分树)

~~~题目链接~~~题目大意:给出n个数,现在要求求出区间中的第k大值思路:划分树模版#include #include #define N 100002using namespace std;struct node{ int num[N], val[N];}t[1000];//记录每层的划分int n = 0, m = 0, a

2012-09-28 20:06:51 1484

原创 HDOJ 4054 Hexadecimal View

~~~题目链接~~~思路:模拟#include #include int len = 0;char str[5002];void print(int cur){ int i = 0, j = 0; for(i = cur; i<cur+16; i++) { if(j == 2) printf(" "), j = 0;

2012-09-25 19:15:21 415

原创 UVa 442 Matrix Chain Multiplication

~~~题目链接~~~题目大意:给出一些矩阵,现在给出一个带括号的表达式, 要求求出这些矩阵相乘最后得多少思路:用stack模拟,从表达式的右边开始入栈, 当不是左括号是入栈, 是左括号时表达式出栈,直到遇到右括号。#include #include #include using namespace std;struct node{

2012-09-24 15:33:36 434

原创 UVa 127 "Accordian" Patience

~~~题目链接~~~题目大意:现在有52张牌, 从牌顶开始发牌,发的牌从左到右一张一张的铺好, 当发的当前这张牌与左边第一张或左边第三张牌花色或点数相同时,发的这张牌移动到左边第一张或左边第三张上面(这时成了一个堆), 如果这张牌移动过后又与左边第一张或第三张花色或点数相同就在继续移动。当有多张牌可以移动时, 先移动左边的。当一张牌即可以移动到左边第三张和第一张上时, 移动到左

2012-09-24 15:20:36 504

原创 HDOJ 4119 Isabella's Message

~~~题目链接~~~题目大意:给出一个N*N的矩阵,上面有些空格写有字母有些为空格, 现在给你一张N*N解密的卡片(卡片上面有N*N/4个洞),现在把卡片放在有字的矩阵上(初始方向不定),通过洞可以看到字母, 然后旋转卡片90度,又可以看见新的字母(直到旋转3次停止旋转), 现在要求你解密出密文。思路:模拟.............#include #

2012-09-23 20:15:13 840

原创 HDOJ 1262 寻找素数对

~~~题目链接~~~水过#include #include int main(){ int i = 0, j = 0, sum = 0, p[10002] = {0}; p[0] = p[1] = 0; for(i = 2; i<10002; i++) if(i%2) p[i] = 1; else p[i] =

2012-09-13 18:54:41 388

空空如也

空空如也

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

TA关注的人

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