自定义博客皮肤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

你不能停止努力。

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

原创 (数据结构第五章)广义表的头尾链表存储表示

/*********广义表的头尾链表存储表示**************/#include#includeusing namespace std;typedef int AtomType; ///定义AtomType为int类型typedef enum { ATOM, LIST } ElemTag; ///ATOM==0; 原子,LIST==1;子表typedef struct F

2015-05-31 23:08:04 6007

原创 SG模板

首先定义mex(minimal excludant)运算,这是施加于一个集合的运算,表示最小的不属于这个集合的非负整数。例如mex{0,1,2,4}=3、mex{2,3,5}=0、mex{}=0。对于一个给定的有向无环图,定义关于图的每个顶点的Sprague-Grundy函数g如下:g(x)=mex{ g(y) | y是x的后继 },这里的g(x)即sg[x]例如:取石子问题,有1

2015-05-31 22:42:19 507

原创 hdu1847 Good Luck in CET-4 Everybody!(博弈论)

仔细想这个和前面那个一样让对方面对一个数值(包括倍数)时,对面就是输了因为:对面拿一个数,但是拿不了这个数值       我拿完后补全这个数值对面那sb还是面对这个值这个题的数值是3#includeint main(){ int n; while(~scanf("%d",&n)){ if(n%3) printf("Kiki\n

2015-05-31 22:10:09 573

原创 hdu1856 Brave Game(博弈论)

应该是最基础的那种博弈论的题(m+1)+多余 == n如果没有多余,那么就后手赢了#includeint main(){ int n; scanf("%d",&n); while(n--){ int x,p; scanf("%d%d",&x,&p); if(x%(p+1)==0 ) printf("secon

2015-05-31 21:47:25 560

原创 hdu2199 (高精度二分)

二分的高精度模板二分法的精度使用方法#include#define F(x) 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6int main(){ int t; scanf("%d",&t); while(t--){ double y,l=0,r=100,mid; scanf("%lf",&y); i

2015-05-31 00:13:16 1098

原创 做题细节

1. 如果题目是枚举的话,即最后化成十分简单的形式比较小, 可以直接将各种不同状态的结果运算过程写出来,但是这并不见得比写函数要快多少 而且比较容易出错,比如下标没有更改之类,这种错误比较烦人,因为你会查看算法, 但是算法本身并没有错误,所以如果复制粘贴的话,注意不同情况的不同点,如果自己 不够细心,最好写成函数的形式(注意判断边界),以防出错.//16:35 20

2015-05-30 16:24:31 4683 1

原创 .....

zuobudongazuobudong

2015-05-29 12:19:35 606

原创 hdu1829 A Bug's Life

#include #include #include #include #include using namespace std;const int MAX = 2000;int pre[2*MAX+5];bool mark;void init(int n){int i;////(author:CSDN:凌风)

2015-05-28 22:10:26 695

原创 拓扑排序

拓扑排序算法思想1、在AOV网络中选一个没有直接前驱的顶点, 并输出之;2、从图中删去该顶点, 同时删去所有它发出的有向边;3、重复以上步骤, 直到◆ 全部顶点均已输出,拓扑有序序列形成,拓扑排序完成;◆ 或者图中还有未输出的顶点,但已跳出处理循环。这说明图中还剩下一些顶点,它们都有直接前驱,再也找不到没有前驱的顶点了。这时AOV网络中必定存在有向环。用

2015-05-27 16:51:23 580

原创 HDU1897 继续畅通工程(最小生成树Prim)

题目分析:这个题和hdu 1233差不多,就是加了一个状态,因此我们可以先判断每条路的状态,如果是修好的,就让它们的成本是0;如果没修,就让成本给出的成本。这样问题的处理就和1233一样了。#include#include#includeusing namespace std;#define inf 0x3f3f3f3fint map[100][100];int s[100],vi

2015-05-27 16:47:19 703

原创 HDU1875 还是畅通工程

与之前的畅通工程类似,求最小生成树,只是要剔除不符合条件的边,还要判断是否是连通图(这个磨蹭了很长时间,只要判断加入集合的点数与题目给出的点数是否相等即可)。#include#include#include#includeusing namespace std;#define NUM 103struct point{ int x; int y;}pos[NUM]

2015-05-27 14:25:16 689

原创 HDU1233 还是畅通工程(并查集)

思路:考虑的是并查集,还有贪心算法中的克鲁斯卡尔算法,考虑的时候要借助 贪心算法还有并查集,建立树的概念,通过寻找父节点,看是否是满足的父节点,然后进行一些列的判断求解。#include#includeusing namespace std;struct dis{ int a,b,c;}s[10010];int cmp(dis x,dis y){ return

2015-05-27 14:03:26 902

原创 Kruskal算法求最小生成树

求加权连通图的最小生成树的算法。kruskal算法总共选择n- 1条边,(共n条边)所使用的贪婪准则是:从剩下的边中选择一条不会产生环路的具有最小耗费的边加入已选择的边的集合中。注意到所选取的边若产生环路则不可能形成一棵生成树。kruskal算法分e 步,其中e 是网络中边的数目。按耗费递增的顺序来考虑这e 条边,每次考虑一条边。当考虑某条边时,若将其加入到已选边的集合中会出现环路,则将其

2015-05-27 13:50:16 3154

原创 HDU1102 Constructing Roads (最小生成树)

Prim算法求最小生成树#include#include#includeusing namespace std;const int N=110;const int INF=0x3f3f3f3f;int n,ans;int map[N][N],dis[N],vis[N];void Prim(){ int i; for(i=1;i<=n;i++){

2015-05-27 13:49:32 847

原创 最小生成树prim算法实现

今天从志权师兄那里学会了最小生成树。所谓生成树,就是n个点之间连成n-1条边的图形。而最小生成树,就是权值(两点间直线的值)之和的最小值。           首先,要用二维数组记录点和权值。如上图所示无向图:int map[7][7];       map[1][2]=map[2][1]=4;       map[1][3]=map[3][1]=2;     

2015-05-27 13:47:48 795

原创 Prim算法(并查集)

普里姆算法(Prim算法),图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点(英语:Vertex (graph theory)),且其所有边的权值之和亦为最小图例说明不可选可选已选(Vnew)此为原始的加权连通图。每条边一侧的数字

2015-05-27 13:31:33 1467

原创 HDU1856 More is better(并查集)

和基本的并查集相比,就是稍微改动了一下。要求的是每个集合里面人数最多的人数。就多用一个数组记录这个人数即可。#include#define N 10000000int father[N],num[N];void initial(){ int i; for(i=1;i<=N;i++) { father[i]=i; num[i

2015-05-27 13:29:37 623

原创 hdu1325 Is It A Tree?(并查集)

根据树的特点:要注意的问题就是:0 0 是棵树用结构体,分别记录标记、入度和根然后就分别判断:不要产生环的情况不要入度大于1的情况不要多根的情况#includeconst int max_num = 100000 + 10;typedef struct { int num,root,conn;}Node;Node node[max_num];void

2015-05-27 12:59:35 626

原创 (数据结构第五章)行逻辑链接的顺序表

/*******************行逻辑链接的顺序表*****************/#include#include#includeusing namespace std;#define MAXSIZE 12500 /// 假设非零元个数最大值为12500#define MAXRC 12500 ///假设的每行的个数的最大值12500#define ERROR

2015-05-26 21:22:19 3067

原创 数据结构约瑟夫环实习报告源码

#includeint n,m;struct LinkList{ int bianhao; int mima; struct LinkList* next;}LinkHuan[50];void duru(){ printf("请按编号顺序输入密码值:\n"); for(int i=1;i<=n;i++){ scanf("%d",

2015-05-26 15:50:48 1840 1

原创 数据结构运动会分数统计实习报告源码

#include#includeint n,m,w;struct Student{ char name[20]; int mingci; int score;};struct Xiangmu{ int bianhao; char xiangname[20]; Student students[50]; int xiangscor

2015-05-26 15:50:01 4635

原创 Java基础知识总结

写代码:1,明确需求。我要做什么?2,分析思路。我要怎么做?1,2,3。3,确定步骤。每一个思路部分用到哪些语句,方法,和对象。4,代码实现。用具体的java语言代码把思路体现出来。 学习新技术的四点:1,该技术是什么?2,该技术有什么特点(使用注意):3,该技术怎么使用。demo4,该技术什么时候用?test。---------------------

2015-05-24 13:31:31 783

原创 Java基础

JAVA:面向对象:封装,继承,多态基于对象:javascript类:一类事物**描述**(共性)对象:客观世界真实存在(个性)类成员:字段(成员变量):规范:先小写后大写封装:必要性不能让客户随意更改(只对字段)1)字段:字段私有,private2)公开getXxx和SetXxx方法方法:动态的行为[访问权限] 返回值 方法名 ([参数列表])

2015-05-24 13:27:02 601

原创 百度之星资格赛--列变位法解密

列变位法解密  Accepts: 867  Submissions: 3035 Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: 65536/65536 K (Java/Others)Problem Description列变位法是古典密码算法中变位加密的一种方法,具体过程如下

2015-05-23 22:48:28 1458

原创 百度之星资格赛--IP聚合

每一个IP循环一遍子网掩码,用结构体十分方便。就是重载运算符的问题,要特别注意。#include#include#includeusing namespace std;struct IP{ int a,b,c,d;// bool operator == (const IP&rhs) const// {// return a==rhs.a&&

2015-05-23 20:47:03 1337 1

原创 hdu1785 You Are All Excellent

本着多谢思路的原则,还是把题解及代码记录下啦吧。用到的atan2函数,atan2(y,x)应该就是与x轴的夹角弧度了,网太渣,没查。#include#include#includeusing namespace std;struct point{ double x,y; bool operator < (const point&rhs) const {

2015-05-23 10:54:27 863

原创 并查集

关系题型模板:                    效率分析,注意下图中Merge函数的ab是根节点。

2015-05-22 22:19:54 432

原创 母函数大模版

//母函数模板//形如(1+x^1+x^2+x^3+....+x^n)*(1+x^2+x^4+x^6+....+x^n)*......(1+x^m+x^2m+x^3m+....+x^n)#includeusing namespace std;const int lmax=10000;int c1[lmax+1],c2[lmax+1];int main(){ int n,i,j,

2015-05-21 23:03:26 463

原创 5.20记一次谈话

刚看到莫斯科大学AK了final,叉姐要吃键盘了。今晚去找jz解解我的各种疑惑,其实也不觉的是那种非常困惑的问题,还是去聊了一聊。想受受jz的启发。整个谈话jz基本不停的谈我的问题,8点到我离开9点30,一个半小时,甚是体会到jz的用心良苦。而我所遇到的问题,他说就是他开始教书,没有人听,或者是学生听不懂,等到教了2,3年,就知道怎么去讲大学的课,怎么去启发学生(这点我是认定的,每次都

2015-05-20 23:15:59 653

原创 5,19

有几天没写题解了,要深入的思考和总结,所以以后就不想贴没用的代码了,提醒总结什么的会多写写。

2015-05-19 18:00:29 569

原创 总结山东省赛2015

省赛总结         刚开始,暴力破解试题袋,三个人找水题做,我看的H,hms看A,zzh看的C,看出是做过的类似的博弈论,直接敲WA了,查bug没有,加了个return 0,过了2Y,这时再看榜,A题C题已经有许多过掉的,我和hms看A题,看完觉得简单,就是个结构体排序,直接敲,过一遍样例就交,结果WA,开始想到身高相同,感觉不会有这个问题,因为题意里没有说,但看着WA了就加了一个相同条

2015-05-15 20:01:41 815

原创 转载 ACM训练计划

一位高手对我的建议:一般要做到50行以内的程序不用调试、100行以内的二分钟内调试成功.acm主要是考算法的,主要时间是花在思考算法上,不是花在写程序与debug上。 下面给个计划你练练:第一阶段:练经典常用算法,下面的每个算法给我打上十到二十遍,同时自己精简代码,因为太常用,所以要练到写时不用想,10-15分钟内打完,甚至关掉显示器都可以把程序打出来. 1.最短路

2015-05-14 12:23:05 916

原创 总结-记第一次参加省赛结束后

省赛结束了, 作为友情队参赛,排在铜牌区偏下位置,赛后教主开会,说了两点我印象很深,在队里的作用是尽量的去帮助别人,另外要有自己的性格,不要被人看不起。还说了在队里这么熬下去,成绩是肯定会提高的,然后一个消息就是省赛前组的队拆散,以后训练随机组队,感觉还是有点恐惧心理的,怕自己太菜啊。组队赛的成绩我是不满意的,其实自己现在最大的问题,自己很清楚,盲目刷题,不求甚解,每个人都是非常了解自己的

2015-05-13 21:42:18 479

原创 UVa1213 - Sum of Different Primes(素数表+DP)

题意是选择k个质数使其和为n,先搞一个素数表然后dp,dp[i][j]表示选了j个数和位i的方案数。#include#define foreach(it,v) for(__typeof((v).begin())it=(v).begin();it!=(v).begin();++it)using namespace std;typedef long long ll;const int ma

2015-05-12 15:54:20 1203

原创 UVa1643 - Angle and Squares(几何)

有n个正方形和一个角(均在第一象限中),使这些正方形与这个角构成封闭的阴影区域,求阴影区域面积的最大值。分析:直观上来看,当这n个正方形的对角线在一条直线上时,封闭区域的面积最大。(虽然我不太会证明,=_=||)设所有正方形边长之和为L,OA、OB两直线方程分别为:y = k1x  y = k2x,设A(x1, k1x1), B(x2, k2x2),可列出方程:

2015-05-12 15:34:38 1315 1

原创 大神们的博客网站杂烩

http://www.kuangbin.net/archives/2002neerc#more-574

2015-05-12 15:29:14 453

原创 UVa808 - Bee Breeding(坐标法)

题意:给定图中蜂窝两点,求最短距离思路:建坐标系,然后根据图中走的顺序把每个点的坐标求出来,然后利用坐标去求最小距离#include#include#include#includeconst int N = 20005;const int d[5][2]={{-1,1},{0,2},{1,1},{1,-1},{0,-2}};struct Point{ int x

2015-05-12 14:49:37 1496

原创 UVa11040 - Add bricks in the wall (规律递推)

找规律的题【x】【a】【x-a】【y】 【    】【z】  这里面xyz都已知,所以可以求出a = (x + y - z ) /2#includeint a[9][9];int main(){ int t; scanf("%d",&t); while(t--){ for(int i=0;i<9;i+=2)

2015-05-12 14:21:51 1097

原创 1393 - Highways(问题抽象)(容斥原理计数)

问题的方向是对称的,统计\*2即可,当gcd(a,b)>1及重复,证:a*b满足gcd(a,b)>1,在他对角线和a'和b'对角线是同一条直线(a'=a/gcd(a,b)b'=b/gcd(a,b))其次,如果放置位置不够靠左,也不够靠上,则它和它“左上方”的包围盒也重复了假定左上角坐标(0,0)则对于左上角在(x,y)的包围盒,其左上方的包围盒的左上角为(x-a,y-b),这个左上角合

2015-05-12 13:42:47 756

原创 UVa445 - Marvelous Mazes

题意:给出一个字符串,由数字、大写字母、*  、和b组成,当s[i]=='b'时,输出换行;当是数字时,如s[i]=2,s[i+1]='T',连续输出两个T;如果出现连续数字,则输出这些连续数字的和个字母,如11A,则输出AA。#include#includeint main(){ char s[140]; int i,j,sum,len; while(gets(

2015-05-11 22:59:15 744

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关注的人

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