上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页
摘要: 摘自 《计算几何》 --谢迪规范相交---两条线段恰有唯一一个不是断点的公共点。可以用解析几何解法1.列直线方程: Ax+By+C=0 判断解的情况 --若无解则平行 --无穷多解,则说明共线 --唯一解 -判断是否分别在两条线段的内部解析结合解法的问题 1.求解方程需要浮点除法运算 --浮点误差 特别是接近平行时 --浮点除法运算速度2.总体效率 --需要比较定点 --交点没有用计算几何的算法 --仅需要加、减、乘 --不求交点如何判断?两条线段相交时,每条线段两个端点都在另一条线段的异侧两条线段相交时,每条线段的端点都在另一条线段的异侧--判断异侧--有... 阅读全文
posted @ 2012-09-25 20:44 YORU 阅读(1405) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1247字典树的题目,以前自己没想到怎么做就一直都放在那里了。今天突然看到,然后想了下,自己有了思路然后就写了下。虽然WA了几次,但总算是让我过了。。。~~o(>_<)o ~~View Code 1 #include <iostream> 2 #include <algorithm> 3 #include <string> 4 using namespace std; 5 const int maxn = 50005; 6 string str[maxn],s[m 阅读全文
posted @ 2012-09-25 07:05 YORU 阅读(271) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=3496这题是一道二维费用背包问题,刚开始的时候我把所有的都初始化为-1,只有ans[0][0]=0;结果就是一直在WA,我没想明白是怎么回事,我认为要满足只有恰好用完的话,那只要将所有的都设置为-1就可以了。后来看了别人的题解,我是略2,想的是没错。如果要恰好用完的话,是要将别的都初始化为-1。但是这个恰好是指的物品的件数恰好,那么就是说二维的费用中有一个费用是恰好,所以初始化-1的时候只要是对有这个要求的这一维进行初始化就可以了。想到了先前做树状数组也是,总是有点生搬硬套o(╯□╰)o。。。看到别人的代码说 阅读全文
posted @ 2012-09-23 10:32 YORU 阅读(360) 评论(0) 推荐(0)
摘要: 文哥突然问我这两题有什么不同。我真的不知道怎么说。POJ 2155 是更新的数据的一段,但是求的是某个点的数据。POJ 1195 是更新的数据的一点,但是求的是数的点。可以想象为一维的树状数组,其实POJ 2155的话,就好比是在数组 a 上[n...m]的值都加上K的更新。而POJ 1195的话就好像是在数组 a 上某个点的值遭到改变,然后求区间[n...m]的值。POJ 1195 像是 NYOJ 116 士兵杀敌(二)POJ 2155 像是 NYOJ 123 士兵杀敌(四) 阅读全文
posted @ 2012-09-22 21:33 YORU 阅读(166) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2155二维的树状数组,这题要逆向。即最开始的点的是树状数组的终点。。。View Code 1 #include <iostream> 2 #include <string> 3 using namespace std; 4 const int maxn = 1005; 5 int ans[maxn][maxn],n; 6 int lowbit(int x) 7 { 8 return x & (-x); 9 }10 11 void mod(int x,int y,int c)12 {13 int i;14 wh 阅读全文
posted @ 2012-09-22 21:02 YORU 阅读(192) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=2660做下这道二维费用的问题。。。。。结果自己把两个维数代表的东西都搞反了,最重要的是TM的样例过了。。。然后自己就泪奔。。。。最后看别人题解,和自己是一样的啊。。。然后就仔细看了下代码,过了。内循环其实是可以互换循环的位置的。不知道为什么AC 1 #include <iostream> 2 using namespace std; 3 const int weight_maxn = 1005; 4 const int number_maxn = 25; 5 int ans[weight_maxn 阅读全文
posted @ 2012-09-22 19:48 YORU 阅读(306) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=2299看到题目想到的就是归并排序....然后文哥告诉我是树状数组,等下再去看看树状数组怎么写,会可以求出逆序对。View Code 1 #include <iostream> 2 using namespace std; 3 const int maxn = 500005; 4 long ans[maxn],fark[maxn]; 5 long long temp; 6 void merge(int p,int q,int r) 7 { 8 int i,j,l; 9 i=p;10 j=q+1;11 l=p;... 阅读全文
posted @ 2012-09-21 20:49 YORU 阅读(172) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4339二分查找,这里的二分查找有点特别,因为low虽然在边,但是作为比较的左值是不变的。View Code 1 #include <stdio.h> 2 #include <iostream> 3 #include <string.h> 4 using namespace std; 5 const int maxn = 1000005; 6 int ans[maxn]; 7 char str1[maxn],str2[maxn]; 8 int lowbit(int x) 9 阅读全文
posted @ 2012-09-21 19:16 YORU 阅读(132) 评论(0) 推荐(0)
摘要: http://baike.baidu.com/view/157384.htm?subLemmaId=157384&fromenter=%D6%D0%B9%FA%CA%A3%D3%E0%B6%A8%C0%EDhttp://zh.wikipedia.org/wiki/%E4%B8%AD%E5%9B%BD%E5%89%A9%E4%BD%99%E5%AE%9A%E7%90%86 注释:三数为a b c,余数分别为 m1 m2 m3,%为求余计算,&&是“且”运算 1、分别找出能被两个数整除,而满足被第三个整除余一的最小的数。 k1%b==k1%c==0 && k 阅读全文
posted @ 2012-09-21 10:36 YORU 阅读(325) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1195早上起来A题,结果隔壁寝室的不知道在争论什么,声音真是大。。。。让人都静不下心来。。View Code 1 #include <iostream> 2 #include <stdio.h> 3 using namespace std; 4 const int maxn = 1050; 5 int ans[maxn][maxn]; 6 7 int lowbit(int x) 8 { 9 return x & (-x);10 }11 12 void mod(int temp[], int x, int c) 阅读全文
posted @ 2012-09-21 09:01 YORU 阅读(143) 评论(0) 推荐(0)
上一页 1 ··· 3 4 5 6 7 8 9 10 11 12 下一页