上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页
摘要: 问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输入一个整数N(N#include#include#include#define MAX 10001using namespace std;bool cmp(int x, int y){ return x > n; getchar(); //注意 while (n 阅读全文
posted @ 2014-02-13 17:00 偶尔会寂寞 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 安慰奶牛DescriptionFarmer John变得非常懒, 他不想再继续维护供奶牛之间供通行的道路. 道路被用来连接N(5 #include#include#include#include#include#include#include#include#include#include#define MAX 100001#define INF (1> n >> m; int mi = INF; for (i = 1; i > c[i]; mi = min(mi, c[i]); par[i] = i; } for (i = 1; i > x... 阅读全文
posted @ 2014-02-12 21:02 偶尔会寂寞 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 问题描述给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。输入格式第一行两个整数n, m。接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。输出格式共n-1行,第i行表示1号点到i+1号点的最短路。样例输入3 31 2 -12 3 -13 1 2样例输出-1-2数据规模与约定对于10%的数据,n = 2,m = 2。对于30%的数据,n #define MAX 20001using namespace std;struct edge{ int from, to, cost; };edge es 阅读全文
posted @ 2014-02-12 16:16 偶尔会寂寞 阅读(171) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1518算法参考:http://blog.csdn.net/w00w12l/article/details/7865348Problem DescriptionGiven a set of sticks of various lengths, is it possible to join them end-to-end to form a square?InputThe first line of input contains N, the number of test cases. Each test cas 阅读全文
posted @ 2014-02-12 15:27 偶尔会寂寞 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 文本操作:fid = fopen("name.txt", 'w'); %w写 r读fgetl(fid) % 获取文本一行fprintf(fid, '\r\n');* source = importdata('name.txt'); %导入txt文件source{1} % cell操作{}strfind(str1, str2) % str2是否是str1的一部分,返回下标 阅读全文
posted @ 2014-02-09 21:51 偶尔会寂寞 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 问题描述有n个格子,从左到右放成一排,编号为1-n。共有m次操作,有3种操作类型:1.修改一个格子的权值,2.求连续一段格子权值和,3.求连续一段格子的最大值。对于每个2、3操作输出你所求出的结果。输入格式第一行2个整数n,m。接下来一行n个整数表示n个格子的初始权值。接下来m行,每行3个整数p,x,y,p表示操作类型,p=1时表示修改格子x的权值为y,p=2时表示求区间[x,y]内格子权值和,p=3时表示求区间[x,y]内格子最大的权值。输出格式有若干行,行数等于p=2或3的操作总数。每行1个整数,对应了每个p=2或3操作的结果。样例输入4 31 2 3 42 1 31 4 33 1 4样例 阅读全文
posted @ 2014-02-06 15:19 偶尔会寂寞 阅读(199) 评论(1) 推荐(0) 编辑
摘要: #include#define MAX 1000#define LEFT(i) (i>1)//父亲结点#define exchage(x,y,z) {z=x;x=y;y=z;}//交换x和yusing namespace std;int size = 0, a[MAX];/*保证每棵子树的根节点最大*/void MAX_HEAPIFY(int a[], int k)//维护最大堆{ int l = LEFT(k), r = RIGHT(k), largest, t; if (l a[k]) largest = l; else largest = ... 阅读全文
posted @ 2014-01-15 20:32 偶尔会寂寞 阅读(490) 评论(0) 推荐(0) 编辑
摘要: /*最大子数组:一个数组中连续和最大的子数组。用分治法解决最大子数组问题的基本思想:把数组分成两段——left、right。则需要解决的问题变为求left的最大子数组、right的最大子数组以及cross过中点的最大子数组,比较这三种取最大的即为结果。*/#include#define INF -100000using namespace std;struct set{ int max_left, max_right, sum;//最左坐标,最右坐标,左右之和};//解决,合并set FIND_MAX_CROSSING_SUBRY(int a[], int low, int mid, i... 阅读全文
posted @ 2014-01-12 01:05 偶尔会寂寞 阅读(336) 评论(0) 推荐(0) 编辑
摘要: /*分治排序法的思想:简单引入两副已排好序的扑克牌,假设最上面的最小。则只需每次比较两副牌的最上面那一张的大小,永远取最小的,直到取完两副牌为止。为了方便,在两副牌的最后加入一张哨兵牌,值取为∞。*/#include#define INF 100000using namespace std;//合并void merge(int a[], int l, int q, int r){ int n1 = q - l + 1, n2 = r - q, *L, *R, i, j; L = new int[n1 + 1]; R = new int[n2 + 1]; for (i =... 阅读全文
posted @ 2014-01-11 23:15 偶尔会寂寞 阅读(294) 评论(0) 推荐(0) 编辑
摘要: /*set:二叉搜索树维护集合的容器map:维护键和键对应的值的容器*/#include#include#include#includeusing namespace std;int main(){ set s; s.insert(1); s.insert(5); s.insert(3); set::iterator ite; ite = s.find(1); if (ite == s.end())cout m; m.insert(make_pair(1, "one")); m.insert(make_pair(10, "ten")); ... 阅读全文
posted @ 2014-01-10 16:10 偶尔会寂寞 阅读(293) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 下一页