摘要: 链接 :http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=2127&cid=1184AC code 130ms 和优先队列还是有一定差距的 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 struct N 9 {10 int data;11 N *l,*r;12 };13 14 struct N *creat()15 {16 N *p = (N *)malloc(sizeof(N));17 p->l =... 阅读全文
posted @ 2013-06-29 01:06 好小孩 阅读(195) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 struct N 10 { 11 char data; 12 N *l,*r; 13 }; 14 15 N *creat() 16 { 17 N *p = (N *)malloc(sizeof(N)); 18 p->l = p->r = NULL; 19 return p; 20 } 21 22 void insert(N *root,char s) ... 阅读全文
posted @ 2013-06-28 20:39 好小孩 阅读(226) 评论(0) 推荐(0)
摘要: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 struct N 10 { 11 char data; 12 N *l,*r; 13 }; 14 15 N *creat() 16 { 17 N *p = (N *)malloc(sizeof(N)); 18 p->l = p->r = NULL; 19 return p; 20 } 21 22 int site = 0; 23 24 bool in... 阅读全文
posted @ 2013-06-28 19:59 好小孩 阅读(172) 评论(0) 推荐(0)
摘要: 链接 :http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1500题目大意 : 先输入N个字符串,再输入M个字符串,统计一下N个中有多少个为在M个出现。注意转换大小写。时间 110MS 内存 1474KB#include #include #include #include #include #include using namespace std;struct N{ char b[11]; bool m; struct N *l,*r;};N *creat(){ N *p = ... 阅读全文
posted @ 2013-06-28 10:24 好小孩 阅读(172) 评论(0) 推荐(0)
摘要: 题目链接: http://acm.sdut.edu.cn/sdutoj/showproblem.php?pid=1482&cid=1180 关键在于对字符串的操作。 两种情况: ‘+’ 此时要把x和y指数均相同的项的系数相加。若链表中不存在系数相同的,则按优先级顺序插入当前项。 ‘*’ 把任意两项(不属于同一式子的两项)都要相乘。系数相乘,指数相加。 最后要考虑一下存在 0 的情况。 优先级关系。 x的指数越大优先级越高。 x的指数相同时,比较y。 常数优先级最低。 特例:x > x^ny^m AC_code 1 #include <cstdio>... 阅读全文
posted @ 2013-06-21 19:40 好小孩 阅读(344) 评论(0) 推荐(0)
摘要: #include <cstdio>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>using namespace std;struct N{ int data; char name[21]; N *next;};N *creat(){ N *p = (struct N *)malloc(sizeof(struct N)); p->next = NULL; return p;}void link(N *head,N *p){ N 阅读全文
posted @ 2013-06-18 21:19 好小孩 阅读(303) 评论(1) 推荐(0)
摘要: HDU 1542 传送门:http://acm.hdu.edu.cn/showproblem.php?pid=1542题目大意就是几个矩形相交,然后求出总的覆盖面积,覆盖多次的按一次算。典型的面积并问题。大体思路: 记录所给的点,排序,去掉重复的点,对点编号,可以理解成存放点的数组的下表即为编号。 对Y轴建立线段树,利用线段树计算面积。 AC_code: 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <iostream> 5 #include 阅读全文
posted @ 2013-06-04 21:24 好小孩 阅读(181) 评论(0) 推荐(0)
摘要: 题意就是给你多个矩形,然后算出这些矩形所框出来的总面积,框过多次的按一次算。 但是题目给的是二维的,线段树只是解决一维的问题比较简单。题目数据范围为0~100,所以我就建了一百棵线段树,这样就可以转化成一维的问题来解决了。-_-|| 结果跑了70+ms 不知道还能再怎么优化……HDU里面有好多0ms的大神…… 1 #include <cstdio> 2 #include <cstring> 3 4 int st[110][10100]; 5 6 int change(int *t,int ml,int mr,int node,int l,int r) 7 { if(t[ 阅读全文
posted @ 2013-05-31 21:34 好小孩 阅读(179) 评论(3) 推荐(0)
摘要: 1 #include <cstdio>//大白书上说节点数最多有2*n-1个 n为区间长度 2 #include <cstring>//这个题开420000的数组却RE了 换成100W+就过了……sad 3 #include <cstdlib> 4 #include <algorithm> 5 #include <iostream> 6 7 8 using namespace std; 9 10 int st[1048576]; 11 int gr[210000]; 12 13 int max(int x,int y) 14 { 15 阅读全文
posted @ 2013-05-29 21:33 好小孩 阅读(207) 评论(5) 推荐(0)
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1166用结构体做的 470+ms; 1 #include <cstdio> 2 #include <algorithm> 3 #include <iostream> 4 #include <cstdlib> 5 #include <queue> 6 #include <cmath> 7 #include <cstring> 8 9 using namespace std; 10 11 struct N 12 { 13 阅读全文
posted @ 2013-05-29 16:24 好小孩 阅读(151) 评论(0) 推荐(0)