自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

nike0good |Oier&ACMer | 熟能生巧

有所作为是生活中的最高境界。

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

原创 DNA序列 (各点只出现1次的Dp序)

DNA序列(dna)题目描述来自JSSI(Jinkela State Scientific Institute)的科学家们尝试制造一个长度为N并且只包含A的DNA序列,不出意外地失败了。他们得到了一个含有A和B两种部件的序列。现在他们打算对实验结果进行篡改,来得到一个全部是A的序列。篡改的方式有两种:1 更改某一位上部件的状态(A变成B,B变成A)2 更改某个前缀内所有部件的状态

2012-10-31 13:45:46 879

原创 求和式 (C++ 坑爹的<<,>>,%lld)

求和式(x3)题目描述作为本场考试的第一题,你的任务十分简单:给定长度为n的序列A[i],求所有A[i]xor A[j] (i 输入第一行一个整数N接下来N行,第i行为A[i]输出所需的值 样例输入3735样例输出12样例解释7 xor 3+3 xor 5+7 xor 5 = 4+6+2 = 12 数据范围对于

2012-10-31 11:03:29 1349 2

转载 C++占位符

%d 整数的占位符。可以是int short long的占位符。也可以是unsigned int ,unsigned short , unsigned long          %f 浮点数的占位符,包括float double          %s 字符串的占位符,一般字符串存到数组中,所以,字符串和数组经常联系到一起。          %c 字符的占位符,一个字符。char

2012-10-29 22:02:38 6903

原创 Permission denied

c++ 有一个Bug程序还在运行时会出现Permission denied仅以为戒

2012-10-29 21:57:07 684

转载 C++保留字

先上ANSI C规定的C++保留字autobreakcasecharcharconstcontinuedefaultdoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstru

2012-10-29 10:22:33 1103

原创 CF 217A (森林数)

求森林数,裸的并查集Program c;var n,i,j,ans:longint; map:array[1..100,1..2] of longint; f:array[1..100] of longint;function getfather(a:longint):longint;begin if f[a]=a then exit(a); f[a

2012-10-28 08:30:17 1036

原创 CF 237E(字母选取-费用流)

题目大意:有一字符串S,你需要从n个字符串中选取一些来拼出这个串,第i个字符串代价为i,限制取P次,问最小代价(无解输出-1)建立超源S=0,超汇T=n+26+1 1-n的结点为字符串 n+1-n+26的结点为字符则可得——————————————————从S向字符串连(最多可取数量),费用为i从字符向T连(欲取数量)从字符串向字符连(字符串可取该字母的数量)得

2012-10-27 21:06:07 1271

原创 调色盘 (3维k点最小最远点对-容斥原理)

调色盘(pastele)题目描述Albus得到了一份礼物:来自Polaris的水彩油墨包。Polaris的油墨包里面有N个颜色,现在Albus打算选其中的K种来作一幅风景画。既然是风景画,颜色就不能太突兀。因此Albus进行了如下的定义:每个颜色由三个属性刻画:R[i],G[i],B[i]。两个颜色的“距离”指它们三个属性的最大差值,也就是Max(|Ri-Rj|,|Gi-G

2012-10-27 17:35:14 2164

原创 翻转排序 (sort)

翻转排序(sort)题目描述Alex得到了存放着一个1-n排列的容器。这个容器支持的唯一操作,是翻转排列的某一段。思考很久之后,他决定用以下方式让这个排列有序: 1 找到每一个极大的下降子序列(子序列要求连续)2 对于每个长度大于1的极大下降子序列,对它进行翻转3 如果排列依然不是有序的,转1 我们举一个例子:初始排列是(5 3 1 4 2)一开始极大的下降子序

2012-10-27 16:33:40 2263

转载 运算符重载

什么是运算符的重载?         运算符与类结合,产生新的含义。 为什么要引入运算符重载?         作用:为了实现类的多态性(多态是指一个函数名有多种含义)怎么实现运算符的重载?方式:类的成员函数 或 友元函数(类外的普通函数)规则:不能重载的运算符有 .  和 .* 和 ?: 和 ::  和 sizeof友元函数和成员函数的使用

2012-10-27 08:02:25 650

原创 求面积 (坐标叉积公式+凹多边形面积-坐标公式)

求面积(AREA)给出一个简单多边形(没有缺口),它的边要么是垂直的,要么是水平的。要求计算多边形的面积。多边形被放置在一个X-Y的卡笛尔平面上,它所有的边都平行于两条坐标轴之一。然后按逆时针方向给出各顶点的坐标值。所有的坐标值都是整数(因此多边形的面积也为整数)。 输入输入文件第一行给出多边形的顶点数n(n≤100)。接下来的几行每行给出多边形一个顶点的坐标值X和Y(都为整数

2012-10-26 17:38:13 3552

原创 连续背包 (背包套背包)

连续背包(bag)【问题描述】从T组物品中选出一些物品,放入背包中,求剩余空间的最小值。限制条件:从每组物品中挑选物品必须要选取连续的一段。就是说,如果这组物品共有n个: 物品1、物品2、物品3、…、物品n,那么只能选取物品i、物品i+1、…、物品j,其中1【输入】第一行为两个用空格隔开的正整数v和T。表示背包的空间和物品的组数。接下来有T行,每行先是一个正整数ni,表示这

2012-10-26 16:29:28 1744

原创 水灾 (BFS-先洪水后寻路)

水灾(sliker)大雨应经下了几天雨,却还是没有停的样子。ksy刚从外地回来,知道不久除了自己家,其他的地方都将会被洪水淹没。ksy的老家可以用一个N*M的地图表示,地图上有五种符号:“. * X D S”。其中“X”表示石头,水和人都不能从上面经过。“.”表示平原,ksy和洪水都可以经过。“*”表示洪水开始地方(可能有多个地方开始发生洪水)。“D”表示ksy的家。“S”表示ksy现在的

2012-10-26 16:22:51 2078

原创 旅行 (分别考虑不同方向曼哈顿距离和)

第二题:旅行(journey)时间限制:1秒内存限制:256MB输入:journey.in输出:journey.out问题描述给定一个n行m列的字符矩阵,’.’代表空地,’X’代表障碍。移动的规则是:每秒钟以上下左右四个方向之一移动一格,不能进入障碍。计算:在空地中随机选择起点和终点(可以重合,此时最短耗时为0),从起点移动到终点最短耗时的平均值。每一行

2012-10-26 16:14:54 853

原创 CF 237C (质数区间)

给定区间[a,b] 求l的最小值使[a,b]中任意长度为l的一段包含至少k个Prime二分l#include#include#include#include#include#include#includeusing namespace std;#define MAXN (1000000+10)int a[MAXN],tot=0,x,y,k;bool b[MAXN

2012-10-26 01:56:03 1114

原创 CF 237A (Cash)

题目大意:是一堆人来h点m分来超市买东西,同时可以有an位顾客买单,买单可认为1分钟以内完成,问至少有几位售货员才能使所有顾客不等待直接统计……#include#include#include#include#include#includeusing namespace std;#define MAXN (100000+10)int n,i;int a[

2012-10-26 01:51:57 871

原创 舞蹈课 (C++堆的优先级与重载)

第三题:舞蹈课(dancingLessons)时间限制:1秒内存限制:256MB输入:dancingLessons.in输出:dancingLessons.out问题描述有n个人参加一个舞蹈课。每个人的舞蹈技术由整数来决定。在舞蹈课的开始,他们从左到右站成一排。当这一排中至少有一对相邻的异性时,舞蹈技术相差最小的那一对会出列并开始跳舞。如果相差最小的不止一对

2012-10-25 16:02:35 1454

原创 BYSBZ 2748(音量调节-01背包)

第一题:音量调节 (changingsounds)时间限制:1秒空间限制:64 MB输入:changingsounds.in输出:changingsounds.out问题描述一个吉他手准备参加一场演出。他不喜欢在演出时始终使用同一个音量,所以他决定每一首歌之前他都要改变一次音量。在演出开始之前,他已经做好了一个列表,里面写着在每首歌开始之前他想要改变的音量是

2012-10-25 16:00:24 783

原创 POJ 3270(Cow Sorting)

这题主要是交换时要求代价最小先找到环   相同数字 与   同列 相连1  第一行为起始序列   第二行为目标序列   1 3 4 2 5   1 2 3 4 5把一个环中最小的那个与指向的数交换   1 3 2 4 5   1 2 3 4 5最后交换3 2   1 2 3 4 5

2012-10-24 13:33:15 1116

转载 NOIP's 算法

NOI、NOIP算法考前总结,带*为NOIP级别的比赛中涉及到的几率不大的算法一、基础算法一般都是前几题,会比较简单1、模拟   注意要写准确,注意细节,简单的模拟一定要AC,复杂的模拟要先用手写清楚再开始遍  例如noip2011 mayan2、搜索(枚举)   如dfs,bfs,同样简单的尽量AC。有些搜索需要剪枝,尽量刨去不会出现的答案3、贪心

2012-10-23 16:55:12 1645

原创 BYSBZ 1696(建牛舍)

中位数 贪心 x,y 分开考虑显然中间那个点一定最省 1.奇数 显然中间那个点一定最省  之后走一步答案必会增加,因此中间和4个方向一定最省,另外4个方向增加是对应2个方向的和2偶数判定整个范围会超时枚举牛而非整个区间,否则TLE#include#include#include#include#include#include#include

2012-10-23 16:53:44 1250

转载 using STL

三十分钟掌握STL这是本小人书。原名是《using stl》,不知道是谁写的。不过我倒觉得很有趣,所以化了两个晚上把它翻译出来。我没有对翻译出来的内容校验过。如果你没法在三十分钟内觉得有所收获,那么赶紧扔了它。文中我省略了很多东西。心疼那,浪费我两个晚上。译者:karycontact:karymay@163.netSTL概述STL的一个重要特点是数据结构和算法的分离。尽

2012-10-23 14:16:57 673

原创 Number (dp-性质数状态表示)

Number【题目描述】明明在做力学作业的时候发现一类数非常有趣,他们和杠杆有比较相似的结构。这类数有这样的性质:把某一位当成支点的话,那么左边的数字到这个点的力矩和等于右边的数字到这个点的力矩和,力矩可以理解为距离乘以数字。举个例子,4139就是满足条件的数字,把3当成支点,我们有这样的等式4 * 2 + 1 *1 = 9 * 1。小明想知道在一个区间[x,y]中,有多少个这

2012-10-20 22:46:39 1000

原创 POJ 3049(输出字母)

在一堆字母中找一段字母,使其中至少含有1个原音,2个辅音字母,且按字典序从小到大排列果断搜Program P3049;var n,i,j,m:longint; a:array[1..26] of char; b:array['a'..'z'] of boolean; c:char;procedure swap(var a,b:char);v

2012-10-20 17:10:01 923

原创 POJ 2456(二分哲学)

这题普通的二分会T…………法一:只循环60遍,用ans记录答案(见标程)法二:进行特判,若l+1==r 则 m=(l+r+1) shl 1 否则 m=(l+r) shl 1Program P2456;const maxd=1000000000; maxn=100000;var n,c,i,j,k:longint; a:array[1..max

2012-10-20 17:05:57 934

原创 POJ 3289(高精度乘法)

高精度乘法Program P3289;const maxn=40000; F=10;type arr=record d:array[1..maxn] of longint; len,doc:longint; end;var r,m:arr; y:longint; i:longint; a,b:

2012-10-20 16:46:04 1446

原创 POJ 2390 (小数高精度乘法)

小数高精度乘法m*(1+r/100)^yProgram P2390;const maxn=40000; F=10;type arr=record d:array[1..maxn] of longint; len,doc:longint; end;var r,m:arr; y:longint;

2012-10-20 16:44:22 1432

原创 不等数列 (Dp插入e)

【题目描述】将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入“>”和“ 【输入格式】第一行2个整数n,k。 【输出格式】一个整数表示答案。 【样例输入】5 2【样例输出】66【数据范围】对于30%的数据:n 对于100%的数据:k F[i,j]=f[i-1,j](j+1)+f[i-1][j-1](i

2012-10-20 13:44:40 1041

原创 RQNOJ 658(观光公交)

几大注意点:1.一次使用氦气加速器会把后面分成好几段。2.我们仅维护end[i],wait[i]恒定,因此需提前让wait[i]=max(wait[i-1],wait[i]);3.w[i]+w[i+1]+...+w[j],且w恒定,故可预处理sum[i](满足累加性)#include#include#include#include#include#includ

2012-10-20 08:28:01 1282

原创 POJ 3661(贝茜晨练)

经典Dp,果断记忆化……#include#include#include#include#includeusing namespace std;#define MAXN 10000 + 10#define MAXM 500 + 10int f[MAXN][MAXM],n,m,d[MAXN];int dfs(int i,int j){ if (i==0) r

2012-10-19 17:45:52 1069

原创 POJ 3575(计算几何与二分-无尽的小数处理)

这题 写了将近半个月……总是在D各种Bug总的说来-这题最难应该是在精度处理上110 0 1这组数据过了就说明精度处理差不多了……Program kingdom;const maxn=100; maxm=100; le=0.000000001;type circle=record x,y,r:double;

2012-10-18 13:15:59 1089

原创 拯救LongMM (递推公式求解)

拯救L o n g M M ( l a n . p a s / c / c p p )【题目描述】LongDD 将军为了平息延续数年战乱,决定释放战俘营中所有的俘虏。然而,LongDD 将军不打算释放敌军的统帅LongMM——因为这个家伙异常聪明,是个难缠的对手。所以LongDD 将军决定把LongMM 用链子固定到墙上。链子由n 个环组成,每个环有可能在墙上,也可能不在墙上。

2012-10-13 10:42:39 2054 2

原创 Monster (贪心)

Monster【题目描述】明明的手机上有这样一个游戏,有一排n个怪物,每个怪物的血量是mi。现在明明可以射出k个伤害均为p的火球射向某些怪物。当某个火球射到第i个怪物,除了这个怪物会掉血p以外,它左边的第j个怪物(jp - (i - j)* (i - j))的溅射伤害。当某个怪物的血量为负的时候,它就死了,但它的尸体已然存在,即其他怪物不会因为它死而改变位置。明明想用这k 个火球消灭掉

2012-10-13 10:21:53 1270

原创 POJ 3748(C++的16进制读法 %x)

P党写几小时的程序 C++才几行……首先P的位运算有上限2^30 此时 即便是 int64也会因为补码坑死人的到1 shl 31时   int64 是负数 故 这个时候 不能shr 为多出好多位造成以上结果的真正原因是 shl 和 shr 只支持到1 shl 30 (Longint)所以在int64或qword会出错 要自己写C党读入方法 %x 表示 二进制

2012-10-13 06:16:58 1703

原创 POJ 3264(STRMQ)

for j:=1 to ln(n)/ln(2)    for i:=1 to n-(1 shl j)+1 do       f[i,j]:=min(f[i,j-1],f[i+(1 shl (j-1),j-1];f[l,r]:=min(f[l,j],f[r-(1 shl j)+1,j]; j=ln(r-l+1)/ln(2);ln(n)/ln(2)=log(2,n);

2012-10-05 07:15:30 1404

原创 RQNOJ 38(串的计数)

一个长度为3N字符串满足:由N个A,N个B,N个C组成,对于它的任意前缀,满足A的个数>=B的个数>=C的个数。求满足这样条件的字符串的个数。看到这题第一反应:打表!第二反应三个字:高精度这题动态转移方程为f[i,j,k]=f[i-1,j,k]+f[i,j-1,k]+f[i,j,k-1]  i,j,k表示A,B,C的个数,考察是否可行高精啊高精……Program s

2012-10-03 12:59:54 1092

空空如也

空空如也

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

TA关注的人

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