02 2016 档案
摘要:1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 const int qq=1000+10; 5 double dist[qq]; 6 double city[qq][qq]; 7 int vis[qq]; 8 int n,m; 9
阅读全文
摘要:思路:枚举所有起点城市然后比较每个起点所去喜欢城市的最小距离 1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 const int qq=1000+10; 5 const int MAX=1e7; 6 int s[qq],e[qq]
阅读全文
摘要:转载自:http://www.cnblogs.com/biyeymyhjob/archive/2012/07/31/2615833.html 最短路径—Dijkstra算法和Floyd算法 Dijkstra算法 1.定义概览 Dijkstra(迪杰斯特拉)算法是典型的单源最短路径算法,用于计算一个节
阅读全文
摘要:1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 const int qq=100+10,MAX=1e7; 5 int vis[qq]; 6 int lowcost[qq][qq]; 7 int minimum[qq]; 8
阅读全文
摘要:1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<cmath> 5 #include<cstring> 6 #define MAX 0xffffffff //定义一个最小生成树中不可能达到的值 7 con
阅读全文
摘要:克鲁斯卡尔(kruskal) 1 //kruskal算法生成最小生成树、 2 3 //对边集数组Edge结构的定义 4 typedef struct 5 { 6 int begin; 7 int end; 8 int weight; 9 }Edge; 10 void Minispantree_kru
阅读全文
摘要:代码线段树入门整理中有介绍、 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 const int MAXNODE=1<<19; 7 cons
阅读全文
摘要:转自:http://blog.csdn.net/x314542916/article/details/7837276 线段树(interval tree) 是把区间逐次二分得到的一树状结构,它反映了包括归并排序在内的很多分治算法的问题求解方式。 【声明】 【创建线段树(初始化)】: 线段树是用二叉树
阅读全文
摘要:过年那几天确实没好好学习、在老家闲着也是闲着、可是就是没看书、 回来这几天又一直在弄个人博客、买域名云服务器备案什么的- -、 麻烦死了呢、 在腾讯花1块钱备案了一个网站www.goodgoodstudy.pw,起名字的时候实在是纠结,索性来了个无聊的 备案完成后还是决定在阿里云再备案一个网站,我也
阅读全文
摘要:<climits>头文件定义的符号常量 CHAR_MIN char的最小值SCHAR_MAX signed char 最大值SCHAR_MIN signed char 最小值UCHAR_MAX unsigned char 最大值SHRT_MAX short 最大值SHRT_MIN short 最小值
阅读全文
摘要:A - Infinite Sequence 题意:有一种这样的无限序列数 1,1,2,1,2,3..... (如果最大数n,那么就有从1到n的所有1到n的数); 思路:题意只给了1秒、直接模拟肯定超时,我用的是二分找下界 1 #include<iostream> 2 using namespace
阅读全文
摘要:怒A三题、虽然有点水 A. Guest From the Past 题意:就说一个人去喝酒,有n块钱,塑料瓶装的就是a块钱一瓶,玻璃瓶装酒是b块钱一瓶,一个玻璃瓶又可以换c块钱,问最多能喝到多少瓶酒 思路:很经典的模拟问题,类那个猴子吃桃,多少核桃又可以换一个桃那种题,不过这个题目有个坑点,看代码把
阅读全文
摘要:因为这个题做了两次犯了两次不同的错误、 第一次用的dfs死活都超时 第二次把定义队列定义在了全局变量的位置,导致连WA了几次、最后找到原因的我真的想一巴掌拍死自己 1 #include<cstdio> 2 #include<cstring> 3 #include<queue> 4 using nam
阅读全文
摘要:set集合容器:实现了红黑树的平衡二叉检索树的数据结构,插入元素时,它会自动调整二叉树的排列,把元素放到适当的位置,以保证每个子树根节点键值大于左子树所有节点的键值,小于右子树所有节点的键值;另外,还得保证根节点左子树的高度与右子树高度相等。 平衡二叉检索树使用中序遍历算法,检索效率高于vector
阅读全文
摘要:一、 vector 向量容器1. 创建 vector 对象(1)不指定容器大小vector<int> V;(2)指定容器大小vector<int> V(10);(3)指定容器大小和初始值vector<int> V(10,0);2. 尾部元素扩张V.push_back(2);3. 插入元素(1)在最前
阅读全文
摘要:A. Save Luke 题意:给一个人的长度d,然后给一个区间长度0~L,给你两个子弹的速度v1,v2,两颗子弹从0和L向中间射去(其实不是子弹,是一种电影里面那种绞牙机之类的东西就是一个人被困在里面了,两边有着那种尖刺的墙向中间靠拢的那种)问Luke能存活的最长时间 思路:看代码吧,简单易懂 1
阅读全文
摘要:1 //子集生成算法:给定一个集合,枚举所有可能的子集。 2 //为了简单起见,讨论的方法中没有重复元素 3 4 //增量构造法 5 #include<cstdio> 6 #include<cmath> 7 void print_subset(int n,int* A,int cur) 8 { 9
阅读全文
摘要:1 //生成1~n的排列,按字典序由小到大排列 2 void print_permutation(int n,int* A,int cur) 3 { 4 if(cur==n){ //递归边界 5 for(int i=0;i<n;++i) printf("%d",A[i]); 6 printf("\n
阅读全文
摘要:思路其实挺简单的,为什么我想不到呢!!! 原因分析:(1)题目还是做少了 (2)做题目的时候在放音乐 (3)最近脑袋都不愿意想思路总是想一些无用的 改进:(1)以后做题目坚决不开音乐,QQ直接挂隐身 (2)想题目的时候一定要认真,开启完全状态 (3)对自己再认真一点,加油 1 #include<cs
阅读全文
摘要:题意:模拟国际象棋中马的走棋方式,其实和中国象棋的马走的方式其实是一样的,马可以从给定的方格棋盘中任意点开始,问是否能遍历全部格子,能的话输出字典序最小的走棋方式,否则输出impossible 思路:只要能遍历全部的格子,就一定会走A1这个点,而且这个点的字典序是最小的,保证了这点的话还需要保证df
阅读全文
摘要:广搜与深搜的小区别 一般来说,广搜常用于找单一的最短路线,或者是规模小的路径搜索,它的特点是"搜到就是最优解", 而深搜用于找多个解或者是"步数已知(好比3步就必需达到前提)"的标题,它的空间效率高,然则找到的不必定是最优解,必需记实并完成全数搜索,故一般情况下,深搜需要很是高效的剪枝(优化). 像
阅读全文
摘要:现在水平真的不够、只能够做做水题 A. Slime Combining 题意:就是给n个1给你、两个相同的数可以合并成一个数,比如说有两个相同的v,合并后的值就是v+1 思路:直接模拟栈 1 #include<iostream> 2 #include<algorithm> 3 #include<st
阅读全文
摘要:题意:求n到k的最小路径, n有三种变法 n+1,n-1或者2*n; 贴个广搜的模版在这里把.... 总结一下:一般涉及到求最短路的话用宽搜 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include<queue>
阅读全文
摘要:算法介绍: Nim游戏是指两个对手在m个堆中轮流随意从某一个堆中拿出n个元素,假定两个对手都是足够聪明,直至最后一次取的人将所有元素取出,此人取得胜利。与之相反的是Misere游戏,相同的游戏规则,但是最后一次取的人将落败。 为了解决这个问题,有一个叫做nim-sum的方法加以解决,这个方法是这样的
阅读全文
摘要:最近状态都不好,做题都想半天 A. Wet Shark and Odd and Even 题意:给你n个数,求n个数最大和且要被2整除 思路:偶数+偶数=偶数 奇数+奇数=偶数 奇数+偶数=奇数,所以只要是偶数就加上,奇数的话先存到数组里面去,然后对奇数数组排序,偶数个就全部加上,奇数个的话就去掉第
阅读全文

浙公网安备 33010602011771号