学习之路
文章平均质量分 66
「已注销」
我的目标 离我还有多远我的梦想 有点遥不可及我要用十倍苦心做最突出一个我不能退缩 不管路多艰难 我都要努力我要靠自己的双手去做自己喜欢做的事我要靠自己的努力去我想去的地方旅游我还年轻 我还可以去奋斗
展开
-
湖南工业大学个人选拔赛第二场 解题报告
A.连续子串和贪心题,枚举每一个数字作为结束点。保留前i位的前缀和sum[i],对于第i为结束的合法序列,其值为sum[i]-sum[i-K],sum[i]-sum[i-K-1],...,sum[i]-sum[0],那么我们只需要对每一个 i 保留sum[0]到sum[i-K]的最小值即可。代码如下:Problem A#include #include #inclu原创 2013-04-13 00:05:55 · 1461 阅读 · 0 评论 -
Problem B: 谎言
DescriptionYefeng自从学了ACM之后就和人说他能快速的定一个正整数数是否为素数,后来大家猜他大概只知道判定10^18以内的数。于是都想的拿非常大的数来问他。当然对于非常大的数Yefeng自己也是没办法在短时间内计算出来的。还好Yefeng学过素数定理,知道越是大的数,这个数是素数的概率就越低,于是他就故意告诉大家一个数,并附上一句话,这个数是你给的数一个因子,所以你给的原创 2013-04-12 22:01:10 · 849 阅读 · 0 评论 -
A - A计划
A - A计划Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64uSubmitStatusPracticeHDU 2102Description可怜的公主在一次次被魔王掳走一次次被骑士们救回来之后,而今,不幸的她再一次面临生命的考验。魔王已经发出消息说将在T时刻吃掉公主,原创 2013-04-12 17:08:12 · 822 阅读 · 0 评论 -
杭电2054
12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 12345678901234567890123456789012345678901234567890123456789原创 2013-04-21 18:16:41 · 999 阅读 · 0 评论 -
杭电2178
#includeint main(){ int t, n, m; scanf("%d", &t); while (t--) { scanf("%d", &n); m = 1; while (n--) m <<= 1; printf("%d\n", m-1); } return 0;}m <<= 1相当于m=m<<1<<1表原创 2013-04-21 18:20:40 · 968 阅读 · 0 评论 -
STL容器之deque
该标准容器是一个定义在namespace std中的模板,该模板的原型声明在头文件中。Deque是一个双向队列,也是一个优先队列,是一种具有队列和栈的性质的数据结构。在deque的两个尾部的操作和list是一样的高效,对元素的下标操作的效率又与vector类似,而对容器元素的插入和删除操作的效率则介于list和vector之间。1 deque构造函数deque intdeuqe0;原创 2013-04-21 18:31:53 · 994 阅读 · 0 评论 -
杭电2153
#includeint main(){ int n,i,j; while(scanf("%d",&n)!=EOF&&n>=1&&n<=10) { for(i=1;i<=n;i++) printf("=",i); printf("\n"); for(i=2;i<=n-1;i++)原创 2013-04-21 18:23:40 · 959 阅读 · 0 评论 -
POJ2184-Cow Exhibition
Cow Exhibition// File Name: poj2184.cpp// Author: rudolf// Created Time: 2013年04月21日 星期日 19时33分16秒#include#include#include#include#include#include#include#include#include#include#inc原创 2013-04-22 13:17:09 · 996 阅读 · 0 评论 -
一步一步写算法(之hash表)
hash表,有时候也被称为散列表。个人认为,hash表是介于链表和二叉树之间的一种中间结构。链表使用十分方便,但是数据查找十分麻烦;二叉树中的数据严格有序,但是这是以多一个指针作为代价的结果。hash表既满足了数据的查找方便,同时不占用太多的内容空间,使用也十分方便。 打个比方来说,所有的数据就好像许许多多的书本。如果这些书本是一本一本堆起来的,就好像链表或者线性表一样,整个数据会显得非原创 2013-04-22 13:16:03 · 801 阅读 · 0 评论 -
qsort各种类型代码(例子)
// File Name: b.cpp// Author: darkdream// Created Time: 2013年02月27日 星期三 21:50:44#include#include#include#include#include#include#include#include#include#include#include#include#include原创 2013-04-12 17:01:36 · 961 阅读 · 0 评论 -
分割平面和空间的相关公式
今天遇到一个折线切割平面的问题,习惯性的百度了一下,把自己搜集到的资料整理了一下。这些东西都是些数学问题,在另一方面证明了数学的神奇和博大精深。很佩服先贤们能够推到出这么神奇的公式出来。这类题目相对而言比较简单,如果知道了递推公式剩下的事情就非常简单了。所以递推公式是最重要的。这一个类型的题目还是从简单的入手,才容易发现规律。至于这些题目的代码我在这就不写了,相信各位研究完递推公式之后就能够很原创 2013-04-12 22:04:01 · 1279 阅读 · 0 评论 -
Problem D: 平面划分
Description一条直线能够将平面分成2部分,两条直线能够将平面分成4部分,而对于一条“V”型线而言,平面被分成2部分,两条“V”型线最多能够将平面分成7部分。对于椭圆封闭曲线对平面的划分又将不一样,任意两个椭圆至多有两个交点。现在给定一个N,你能够计算出三种不同情况下,空间最多被划分出多少个部分吗?Input若干组测试数据,每组测试数据占一行,每行一个正原创 2013-04-12 22:02:48 · 971 阅读 · 0 评论 -
(非本校)湖南工业大学个人选拔赛第一场 解题报告
比赛链接:http://www.acmore.net/contest.php?cid=1008 首先声明,我参加这场比赛纯属凑热闹,不过既然做了,就写一个解题报告,希望能帮助到需要帮助的同学。 这场比赛,总体来说难题适中(仅对我个人而言),对于初学者来说有点偏难,也有可能是我实力太弱了,呵呵,不过我说的是我自己真实感受。 下面奉上每一题的解题思路,希望能够给同学原创 2013-04-14 11:30:16 · 1146 阅读 · 0 评论 -
C++运算符重载(成员函数以及友元函数实现)
运算符重载常用于解决结构体或是自己定义的类型的加减运算,提供了方便的方式!比如一个类里面的两个整数的相加,可以通过重载运算符+,其次运算符重载常用友元函数实现,可以实现更多的功能!因为友元函数可以访问类的所有成员!先写一个成员函数实现重载'+',睡觉后再写一个友元函数重载的方式!include#include#includeusing namespace std;class ST原创 2013-04-14 20:39:10 · 1368 阅读 · 0 评论 -
C++ const 的学问
1. const的最初动机是取代预处理器#define来进行值替代#define只做些文本替代,它既没有类型检查概念,也没有类型检查功能,所以预处理器的值替代会产生一些问题。这些问题在C++中可以通过使用const来避免。2. C++中的const默认为内部连接(internal linkage)const仅在被定义过的文件里才是可见的,原创 2013-04-14 21:25:16 · 826 阅读 · 0 评论 -
一步一步学算法之hash表
哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。 对哈希表的使用者一一人来说,这是一瞬间的事。哈希表运算得非常快,在计算机程序中,如果需要在一秒种内查找上千条记录通常使用哈希表(例如拼写检查器)哈希表的速度明显比树快,树原创 2013-04-22 16:40:31 · 1276 阅读 · 0 评论 -
hdu3466-Proud Merchants
Proud Merchants按照q-p从小到大排序,然后01背包。至于按照q-p从小到大排序比较难想到。q-p其实就是不更新的范围,不更新的范围从小到大递增时就不会影响后面的DP了。// File Name: hdu3466.cpp// Author: rudolf// Created Time: 2013年04月21日 星期日 21时17分35秒#include原创 2013-04-22 13:16:16 · 1011 阅读 · 0 评论 -
hdu 4255 A Famous Grid (模拟+广搜)
#include#include#includeusing namespace std;int map[1009][1009],mark[1009][1009];int a[1000001],xx,yy;int dist[4][2]={0,1,0,-1,1,0,-1,0};struct node { int x,y,step;};void grap(){ int c原创 2013-04-22 13:16:36 · 1049 阅读 · 0 评论 -
HDU1425-sort
sort水题的水解与不水解法对比顿时无语 水解——-----> hash表------->// File Name: hdu1425.cpp// Author: rudolf// Created Time: 2013年04月22日 星期一 16时53分10秒#include#include#include#inc原创 2013-04-22 18:20:29 · 1607 阅读 · 2 评论 -
移动 II
移动 II// File Name: hrbust1316.cpp// Author: rudolf// Created Time: 2013年04月22日 星期一 19时51分58秒#include#include#include#include#include#include#include#include#include#include#include原创 2013-04-22 20:12:47 · 895 阅读 · 0 评论 -
Rescue
Rescue真恶心,还是犯低级错误,定义mapp时用成int 去了,卡了好久,另外这题需要注意的就是需要比较大小;// File Name: hdu1242bfs.cpp// Author: rudolf// Created Time: 2013年04月22日 星期一 20时27分33秒#include#include#include#include#include原创 2013-04-22 21:47:52 · 890 阅读 · 0 评论 -
hdu-1312-Red and Black
Red and Black不能说什么了,爆恶心的DFS水题,居然用C++总是错误,是我还是不熟悉,还是人品出问题了?// File Name: hdu1312dfs.cpp// Author: rudolf// Created Time: 2013年04月22日 星期一 22时19分26秒#includeint dis[4][2]={1,0,-1,0,0,1,0,-1};int原创 2013-04-23 12:55:15 · 906 阅读 · 0 评论 -
第二届华中区程序设计邀请赛暨武汉大学第十一届校赛 网络预选赛 解题报告
2013WHUACM校赛网赛题目题解一个人出一套题目略累。。不过还好数据啥的没出什么差错。关于题目描述:附件中会有一份中文的题目,所以以下题解不再赘述题意。E-easy N-normal H-hard VH-very hardA – A problem on tree (N) SolutionTag:贪心,结论。我们首先来考虑一条链的情况:设第一个点的值是a,第二个是b原创 2013-04-14 18:23:20 · 1042 阅读 · 0 评论 -
二进制GCD
int gcd( int a, int b ){ if( a == 0 ) return b; if( b == 0 ) return a; if( a%2 == 0 && b%2 == 0 ) return 2*gcd( a/2, b/2 ); else if( a%2 == 0 ) return gcd( a/2, b ); else if原创 2013-04-14 00:28:58 · 1410 阅读 · 0 评论 -
Problem A: 连续子串和
Description小Y前段时间刚刚做完连续子串和问题,相信大家对连续子串和也都不陌生,现在小Y又碰到了一个新的难题,给定N个整数,求至少K个数连续的最大和为多少?Input若干组测试数据,每组数据第一行给出两个数N(1Output输出长度大于等于K的连续整数和值中最大的一个。Sample Input5 3-2 3原创 2013-04-12 21:59:18 · 839 阅读 · 0 评论 -
hdu2553N皇后问题
N皇后问题打表 #include using namespace std; int a[11]={0,1,0,0,2,10,4,40,92,352,724}; int main() { int n; while(scanf("%d",&n)>0&&n) { printf("%d\n",a[n]); } ret原创 2013-04-23 15:18:38 · 1119 阅读 · 0 评论 -
hdu1728-逃离迷宫
逃离迷宫// File Name: hdu1728bfs.cpp// Author: rudolf// Created Time: 2013年04月23日 星期二 13时18分54秒#include#include#includeusing namespace std;int k,x1,x2,y1,y2,m,n,mark[105][105];struct node{ int原创 2013-04-23 14:33:56 · 1030 阅读 · 0 评论 -
POJ 动态规划题目列表
声明:1.这份列表当然不是我原创的,从文库里下载了一份,放到这里便于自己浏览和查找题目。动态规划还没完全理解,争取都做完。。。※最近更新:Poj斜率优化题目1180,2018,3709 列表一:经典题目题号:容易: 1018, 1050, 1083, 1088, 1125, 1143, 1157, 1163, 1178, 1179, 1189, 1191,1208, 1原创 2013-04-23 15:40:10 · 1436 阅读 · 0 评论 -
HDU 动态规划(46道题目)倾情奉献~ 【只提供思路与状态转移方程】
Robberies http://acm.hdu.edu.cn/showproblem.php?pid=2955 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱 最脑残的是把总的概率以为是抢N家银行的概率之和… 把状态转移方程写成了f[j]=max{f[j],f[j-q[i].v]+q[i].money}(f[j]表示在概率j之下能抢的大洋原创 2013-04-23 15:42:49 · 1084 阅读 · 0 评论 -
hdu1024-Max Sum Plus Plus
Max Sum Plus Plusdp最长子段和我不能说什么了,人品严重出问题了,用C++居然TLE了// File Name: hdu1024dp_zuichangziduanhe.cpp// Author: rudolf// Created Time: 2013年04月23日 星期二 16时25分45秒#include#include#include#include原创 2013-04-23 16:47:53 · 1109 阅读 · 0 评论 -
I NEED A OFFER!
I NEED A OFFER!比较麻烦处理的就是中间int doble 型定义的地方,其他还算好,虽然是水题,但是动态规划接触的真的很少,几大类型,接触最多的就是背包问题,要继续多做题,动态规划是一块硬骨头,慢慢啃,狠狠的啃下去// File Name: hdu1203.cpp// Author: rudolf// Created Time: 2013年04月23日 星期二 17时原创 2013-04-23 18:38:19 · 842 阅读 · 0 评论 -
A - Browsing History
A -Browsing History就是个签到题,本来还以为很难 ,下面是网上最优解,不是我自己的代码#include"stdio.h"#include"string.h"#include"stdlib.h"int main(){ int Case=1; int n; int i; char str[111]; int ans;原创 2013-04-24 12:42:49 · 920 阅读 · 0 评论 -
最长公共子串长度
问题描述我们称序列Z = 是序列X = 的子序列当且仅当存在严格上升的序列,使得对j = 1, 2, ... ,k, 有xij = zj。比如Z = 是X = 的子序列。现在给出两个序列X和Y,你的任务是找到X和Y的最大公共子序列,也就是说要找到一个最长的序列Z,使得Z既是X的子序列也是Y的子序列。输入数据输入包括多组测试数据。每组数据包括一行,给出两个长度不超过200的字符串,原创 2013-04-24 15:02:38 · 1238 阅读 · 0 评论 -
dp之01背包代码
#includeusing namespace std;int c[10][100];/*行代表是覆盖的背包个数,而列代表背包容量*/int x[10];//存放最优解int Knapsack(int n,int m,int w[],int v[]){ int i,j; for(i=0;i<10;i++)/*初始化数组C*/ for(j=0;j<100;j++) c[i][原创 2013-04-24 15:08:07 · 914 阅读 · 0 评论 -
dp之最长上升子序列
问题描述一个数的序列bi,当b1 你的任务,就是对于给定的序列,求出最长上升子序列的长度。 解题思路如何把这个问题分解成子问题呢?经过分析,发现 “求以ak(k=1, 2, 3…N)为终点的最长上升子序列的长度”是个好的子问题――这里把一个上升子序列中最右边的那个数,称为该子序列的“终点”。虽然这个子问题和原问题形式上并不完全一样,但是只要这N个子问题都解决了,那么原创 2013-04-24 15:11:30 · 881 阅读 · 0 评论 -
湖南工业大学个人选拔赛第三场 解题报告(自己的)
水题不水,有很多做过的题目,但是还是出了很多错误,其中里面有几道题目,需要长整型,没有注意,然后里面有一两道题目需要判断素数,但是也没有注意,需要用素数打表的没有打表,不需要的却用了(水题不水的其中一道题目),总结:需要注意积累水题,但是绝对不是什么A+B,而是一些比较好的水题,要多训练A -Probability#include#include#includeint mai原创 2013-04-15 22:02:17 · 1090 阅读 · 0 评论 -
(汲取经验)SCU2013多校联合赛
SCU's closet及其恶心的一道水题,今天比赛看人家大牛几分钟1次AC,本来以为只是普通的签到题,结果比赛提交了接近20次,还是没能AC。。。事后通过与队友交流,按照B-A排序(我将所有可能情况都试过,就是没考虑这个),吸取教训// File Name: b.cpp// Author: rudolf// Created Time: 2013年04月14日 星期日 12原创 2013-04-14 22:04:38 · 895 阅读 · 0 评论 -
B - Candy
B -Candy卡时间卡的好厉害啊枚举公式OK#include#includeint main(){ int n,id=0; double p,q,cp,cq; while(~scanf("%d%lf",&n,&p)) { q=1-p; cq=cp=1; int i,last=n+1原创 2013-04-24 12:40:11 · 902 阅读 · 0 评论 -
I - Count
I -Count这个题目也不能说什么了,忽略了一个条件,本来以为爆难,结果。。。发现问题后,就出来了#include#includeint ans[1005];void getans(){ ans[1]=1; ans[2]=1; ans[3]=2; ans[4]=3; for(int i=5;i<1001;i++) {原创 2013-04-24 12:45:10 · 876 阅读 · 0 评论 -
一些重要的算法
下面是一些比较重要的算法,原文罗列了32个,但我觉得有很多是数论里的或是比较生僻的,和计算机的不相干,所以没有选取。下面的这些,有的我们经常在用,有的基本不用。有的很常见,有的很偏。不过了解一下也是好事。也欢迎你留下你觉得有意义的算法。(注:本篇文章并非翻译,其中的算法描述大部份摘自Wikipedia,因为维基百科描述的很专业了)A*搜寻算法俗称A星算法。这是一种在图形平面上,有多个节原创 2013-04-24 15:09:48 · 1020 阅读 · 0 评论