自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Dosth_Magic

你不能停止努力。

  • 博客(72)
  • 资源 (5)
  • 收藏
  • 关注

原创 6.30

好长时间没写总结了。今晚有点烦躁。博客数也没弄上去。还有几科的考试。考完就是暑假集训。可我的题还没做够。知识的积累并非一朝一夕。我需要的是什么。静下心。编程。编程。学算法。学的越慢越好。一天也不要学会一个。可事实上最近。没有学算法。看了几页c++。好tm没劲啊。还不如刷题呢。静下心来吧。慢慢地积累。不要估计太多。

2015-06-30 22:55:30 731

原创 众神犇的博客

2011年世界冠军,浙江大学巫泽俊(watashi)大神的blog【其实大都是一些二次元的宅物啦啦啦←_←http://blog.watashi.ws/北京大学Matrix67大神的博客里面很多有趣的数学知识【基础组决赛的最后一题就出自这里http://www.matrix67.com/blog/清华大学郭家宝大神的博客,里面很多各种有用的东西,不光是算法https

2015-06-30 22:45:25 1967

原创 错误检测

#includevoid exit(int status);///检测文件打开失败std::ifstream in(file);if(in.fail()){ std::cerr<<"Can't open"<<file<<std::endl; exit(1);}

2015-06-30 21:56:53 764

原创 I/O流

cin、cout、cerr是三个I/O流类的实例。#includestd::ifstream in(infile);///从文件输入std::ofstream out(outfile);///输出到文件in.close();out.close();关闭打开的文件in.eof();in.fail();检测是否到达文件结束或操作是否失败

2015-06-30 21:49:04 492

原创 vector2D向量实例

/**在x-y平面上给定四个顶点ABCD,确定它是否是一个矩形*/#includeclass vector2D{public: vector2D(){} vector2D(float a,float b) { x=a; y=b; }///内联(1) vector2D difference(vector2D& a); float inner(vec

2015-06-30 21:42:18 6759

原创 string类

///string类///#include#include#include#include#includeusing namespace std;int stringMatch(std::string& str, std::string& line){ if(str.empty()) return -1; int j,k; int sl=str.size(),

2015-06-30 21:00:26 371

原创 基于对象的编程

对象就是类的实例。一个类与自身具有相同名称的成员函数叫做构造函数。没有参数的构造函数称为默认构造函数。双冒号::是作用域操作符。函数重载:相同函数名称可以用不同形式参数定义多次。参数是通过值进行传递的。内联函数:减小开销,增加效率。///环境变量///#include#includeusing namespace std;char * uname = gete

2015-06-30 16:38:06 668

原创 命令行参数

///回送命令///#includeusing namespace std;int main(int argc,char *argv[]){ int i=1; while(i<argc){ cout<<argv[i++]<<' '<<endl; } return 0;}

2015-06-30 16:22:14 527

原创 OOP

OOP:面向对象的关键概念使过程与数据的连接。改变了传统数据中数据和程序分隔的状态。将程序和数据包装在一起叫做封装。一个类的定义和初始值可以用来创建类的实例(对象)。OOP提供了方法在其他对象顶层构造类:合成和继承。合成允许现在有的对象作为建造其他对象的一个组件。继承允许一个相似的或者相关的对象(派生对象)来源于另外一个对象(基对象)。派生类:单一继承和多重继承。重

2015-06-29 22:36:59 773

原创 BInsertSort

#include#includeusing namespace std;int a[10000]={-1,4,5,2,1,3,7};int n=5;void Is(){ for(int i=2;i<=n;i++){ if(a[i]<a[i-1]){ a[0]=a[i]; int l=1,h=i-1;

2015-06-28 10:59:51 1038

原创 InsertSort

#include#includeusing namespace std;int a[10000]={-1,4,5,2,1,3,7};int n=5;void Is(){ for(int i=2;i<=n;i++){ if(a[i]<a[i-1]){ a[0]=a[i]; a[i]=a[i-1];

2015-06-28 09:45:03 676

原创 堆排序

/**堆排序*//**顺序表存储*/#include#include#define LT(a,b) ((a)<(b))using namespace std;int a[]={9,5,2,1,3,4,6,8,9,10};int n=5;void f(int s,int m){ /**使a[s...m]成为一个大顶堆*/ int c = a[s]; for(i

2015-06-27 23:20:49 659

原创 不会的列表

树形选择排序http://blog.csdn.net/zhoujunbuaa/article/details/6001491

2015-06-27 22:57:23 404

原创 SelectSort

/**简单选择排序*/#include#includeusing namespace std;int a[]={5,2,1,3,4,6,8,9,10};void f(int n){ for(int i=0;i<n;i++){ for(int j=i+1;j<n;j++) if(a[j]<a[i]) swap(a[j],a[i]);

2015-06-27 22:52:18 907

原创 Qsort

/**快速排序*/#include#includeusing namespace std;int a[]={5,2,1,3,4,6,8,9,10};int f(int l,int h){ int p=a[l],x=a[l]; while(l<h){ while(l=p) --h; a[l]=a[h]; while(l<h&&

2015-06-27 22:46:33 722

原创 UVa11054 - Wine trading in Gergovia UVA

本题与分金币有差别,本题是在一条直线上!!对于给定的n个村庄:1.第一个村庄只能和第二个村庄交易所以转移量一定是|w[1]|2.交易完一次后,同理第二个村庄只能与第三个村庄交易所以转移量是|w[1]+w[2]|3.同理。。。。。。。#include#include#include#incldue#includeusing namespace std;int wine

2015-06-22 22:01:12 504

原创

#include #include #include #include #include #include #include #include #include #include using namespace std;#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define rep(i,a,b) for(int i=

2015-06-22 21:57:01 651

原创 UVA 11134 Fabled Rooks 优先队列

题意:有一个NxN的棋盘,你需要在上面放N个車,它们互相之间不能攻击到,并且每个車只能放在指定的矩形范围里面。思路:首先車之间不能互相攻击,那么每行每列有且仅有一个車,我们把每个車用坐标(x,y)表示出来,那么最后要求的其实就是任意两个車的x坐标要不一样,任意两个車的y坐标不一样。然后每个車的x和y有自己的范围.....!!!x和y是相互独立的,不会相互影响!!所以我们只需要先

2015-06-22 21:56:06 545

原创 hash

#includeint a[100000];int Hashf(int x){ return x + 1;}int main(){ int n; scanf("%d",&n); while(n--){ int x; scanf("%d",&x); int y = Hashf(x); a[y

2015-06-21 09:34:53 931 2

原创 UVa1152 - 4 Values whose Sum is 0(hash)

hash结构体struct Hash_map{ static const int mask=0x7fffff; int p[8388608],q[8388608]; void clear(){ for(int i=0;i<=mask;++i) q[i]=0; } int & operator [

2015-06-20 21:39:35 1263 2

原创 UVa1605 - Building for UN(构造)

题目大意:有n个国家,要求你设计一栋楼并为这n个国家划分房间,要求国家的房间必须连通,且每两个国家之间必须有一间房间是相邻的解题思路:刚开始以为很复杂,被样例给误导了,加上题意没审清,以为房间相邻必须在同一层。。。就这样被坑了好久只需要设计两层就可以了,每个国家占第一层的每一行,占第二层的每一列,这样的话就既满足联通又相邻了#include#include#define

2015-06-20 21:35:01 1951

原创 UVa120 - Stacks of Flapjacks (STL)

Background背景Stacks and Queues are often considered the bread and butter of data structures and find use in architecture, parsing, operating systems, and discrete event simulation. Stacks are als

2015-06-20 21:27:33 857

原创 Dylans loves numbers

Dylans loves numbers  Accepts: 405  Submissions: 831 Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 131072/131072 K (Java/Others)问题描述Dylans是谁?你可以在 UOJ 和 Codeforces上看到他

2015-06-20 21:04:01 539

原创 ACM训练方案-POJ题目分类

ACM训练方案-POJ题目分类博客分类: 算法 ACM online Judge 中国: 浙江大学(ZJU):http://acm.zju.edu.cn/ 北京大学(PKU):http://acm.pku.edu.cn/JudgeOnline/ 杭州电子科技大学(HDU):http://acm.hdu.edu.cn/ 中国科技大学(USTC)

2015-06-17 18:10:39 840

原创 HDU 1507 Uncle Tom's Inherited Land*(二分匹配,输出任意一组解)

要输出任意一组解。一开始时两边都是n*m-k个点做的,答案输出一半,但是错掉了,匹配数没有问题,就是输出解会出错。后来按照奇偶分成两部分就可以了#include#include#include#include#includeusing namespace std;const int MAXN=510;int uN,vN;int g[MAXN][MAXN];int link

2015-06-17 17:39:25 706

原创 hdu 1528 Card Game Cheater (最小覆盖)

#include"stdio.h"#include"string.h"#define N 52int map[N][N],v[N],link[N];int A[N],B[N],t,n;int dfs(int k){ int i; for(i=1;i<=n;i++) { if(map[k][i]&&!v[i]) {

2015-06-17 17:21:08 1025

原创 hdu1498最小点覆盖

1.题意:(很是重要,理解了题意才能有转换为最小点覆盖的思路),对于一个n*n的矩阵,里面有一些颜色不同的气球(用1~50标记种类),给你K次机会,每次机会可以把某一行或者某一列中的某一种颜色全部消灭,问你K次消灭之后,有哪些颜色是你不能消灭完的....拿题目的案例 2 来画图:我们这里只有K=1次机会去消除,,我们只有四种方式,从图中来看,1次机会我们不可能把1号颜色全部消除

2015-06-17 17:06:25 923

原创 UVa 294 - Divisors

计算一个给定区间中因数最多的数。分析:数论、组合数学。题目的数据的比较大,如果暴力一定会超时,那么就考虑利用其他方法求解。            我们将给定数字因式分解,那么因数的个数就是π(各质因子数+1)。(每个质因子取0~上限个)            因为数据时在10^9之内,所以质因数只能是33333以内的素数,利用筛法将素数打表计算即可。#include

2015-06-16 21:15:29 607

原创 UVa 10622 - Perfect P-th Powers(数论)

#include #include #include #include #include #include using namespace std;int find(int n){ for (int i = 2 ; i < 50000 ; ++ i) { if (pow(0.0+i, (int)(log10(fabs(n+0.0))/log10(i+0.0)+0.01))

2015-06-16 21:05:23 774

原创 HDU 1151 Air Raid(最小路径覆盖)

二分图匹配(匈牙利算法的DFS实现)初始化:g[][]两边顶点的划分情况建立g[i][j]表示i->j的有向边就可以了,是左边向右边的匹配g没有边相连则初始化为0uN是匹配左边的顶点数,vN是匹配右边的顶点数调用:res=hungary();输出最大匹配数优点:适用于稠密图,DFS找增广路,实现简洁易于理解时间复杂度:O(VE)*******************

2015-06-16 20:56:12 745

原创 hdu 1281 棋盘游戏

将行和列的标号组成X和Y集合,然后如果x,y坐标可以放车,就在x和y点之间连一条线,不同行和列车就不会相互攻击,所以求出最大匹配就是所得的最多可放车额个数然后枚举每个点,判断其是否为重要点#include#include#includeusing namespace std;#define N 102int map[N][N],visit[N],match[N];int n,m,

2015-06-16 20:54:46 611

原创 hdu1150 Machine Schedule

有两台机器A和B以及N个需要运行的任务。每台机器有M种不同的模式,而每个任务都恰好在一台机器上运行。如果它在机器A上运行,则机器A需要设置为模式xi,如果它在机器B上运行,则机器A需要设置为模式yi。每台机器上的任务可以按照任意顺序执行,但是每台机器每转换一次模式需要重启一次。请合理为每个任务安排一台机器并合理安排顺序,使得机器重启次数尽量少。二分图的最小顶点覆盖数=最大匹配数本题

2015-06-16 20:32:48 736

原创 hdu 1133

题意:电影院卖票。一张票50元。一开始没有零钱。有m+n个人买票,m个人拿50元的钞票,n个人拿100的。问队伍有多少种排列方式可以使得卖票能顺利进行下去。mark:如果要使得卖票的行为进行下去,对于任意前k个人,必须满足这k个人里面拿100的人数不多于拿50的人数。结果会是一个大整数,要用高精度。公式是n!m!(m-n+1)/(m+1)。推导比较难想,和卡特兰数有关,网上有一篇文

2015-06-15 13:51:15 1125

原创 hdu1134 Game of Connections(卡特兰数)

卡特兰公式为:(n+2)record[n+1]=(4n+2)record[n]#include#includeint record[110][110];int a1[110],weishu[110];void cheng(int a){ int i,m,c,chushu,temp; m=weishu[a-1]; c=0; for(i=0;i<

2015-06-15 13:36:30 992

原创 hdu 2159 FATE 二维背包

先求出不超过他的忍耐度杀完s只怪时能够得到的经验值,如果能升完最后一级,再求用去多少忍耐度就能够升级,最后用他的忍耐度减去需要消耗的忍耐度即可/*忍耐度当做体积,经验值当做价值,怪的只数当做物品数量*/状态转移方程:f[i][j]=max{f[i][j],f[i-b][j-1]+a} i表示忍耐度,j表示杀怪数/*忍耐度当做体积,经验值当做价值,怪的只数当做物品数量*/#include#

2015-06-14 23:59:05 431

原创 HDU4508:湫系列故事——减肥记I(完全背包)

#include#includeusing namespace std;int sum=0;void getMax(int N,int ** array,int Limit,int happiness){ if(Limit==0) { if(happiness > sum) sum = happiness; return; }

2015-06-14 23:45:08 475

原创 HDU 1134 卡特兰数 大数乘法除法

大数乘法:大数*(一个 int64 范围之内的数) 可以用分段乘法以下是 n! (n#include#include#include#define N 10000using namespace std;int a[N];int main(){ int n,t,i,j,k; while(cin>>n) { memset(a,0,size

2015-06-14 23:31:48 715

原创 HDU 2067 小兔的棋盘(dp)

#include#include#includetypedef long long ll;ll dp[40][40];void init(){ int i,j; for(i=1;i<40;i++) dp[1][i]=1; for(i=2;i<40;i++) { dp[i][i]=dp[i-1][i]; f

2015-06-14 23:23:03 479

原创 HDU1228:A + B

#include #include #include using namespace std;char num[10][10] = {"zero","one","two","three","four","five","six","seven","eight","nine"};int search(char ch[]){ int i; for(i = 0;i<10;i

2015-06-14 23:10:04 521

原创 hdu 1496 Equations (hash)

解题报告:题目意思很好理解,就是求有多少种方程的解的形式,输出来就可以了。如果用4重循环的话,可能会超时,没有试过。。直接用hash一一对应就可以了。2重循环把s = a*x1*x1+b*x2*x2 看做一个数组的下标,如果s > 0 ,hash1[s]++;若s 再2重循环把s = c*x3*x3+d*x4*x4 看做下标,开始查找。#include#i

2015-06-14 23:06:54 563

chrome修复工具

chrome一直有问题,有时候能用,然后就上不了csdn,google,这个工具很好用

2018-11-06

p5js代码库

交互式可视化工具,学习前端可视化入门代码库,非常简单有趣

2018-10-18

初学论文制作PPT

初学论文,面对全是英语的文章,还是很难理解的,要多看,更要掌握看文章的方法。 掌握该问的核心思想,学习研究经验。把该论文的ppt做出来,意味着掌握的差不多了

2017-09-21

Qt+OpenGL程序

Qt+OpenGL程序

2017-08-23

C++Qt教程源码

学习youtobe上经典C++Qt教程的代码,有想要学习的可以下下来看看

2017-08-23

空空如也

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

TA关注的人

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