摘要: 借用题解上的话,就是乱搞题。。题意理解错了,其实是坐标系画错了,人家个坐标系,我给当矩阵画,真好反了。对于题目描述和数据不符的问题,果断相信数据了(这是有前车之鉴的hdu 4612 Warm up,明明有重边,出题人欺骗我们的智商)然后就杯具了。我是用并查集搞得。 1 #include 2 #include 3 4 const int MAXN=105; 5 6 int mp[MAXN][MAXN]; 7 int p[20000]; 8 int vis[20000]; 9 int find(int x)10 {11 return p[x]==x?x:p[x]=find(p[x]);... 阅读全文
posted @ 2013-07-29 22:01 Thousand Sunny 阅读(131) 评论(0) 推荐(0) 编辑
摘要: 第一眼,暴力第二眼,超时第三眼,尝试暴力一下吧第四眼,N*M*T*(N+M),肯定超时原来是错在第四眼上了T^T 1 #include 2 #include 3 using namespace std; 4 5 const int MAXN=333; 6 7 int a[MAXN][MAXN]; 8 9 int main()10 {11 int T,n,m,mi;12 int i,j,k,x,y;13 scanf("%d",&T);14 while(T--)15 {16 scanf("%d%d",&n,&m);17 ... 阅读全文
posted @ 2013-07-29 21:41 Thousand Sunny 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 大一学弟表示刚学过高数,轻松无压力。我等学长情何以堪= =求空间无限延伸的两个圆柱体是否相交,其实就是叉积搞一搞详细点就是求两圆心的向量在两直线(圆心所在的直线)叉积上的投影代码略挫,看他的吧http://blog.csdn.net/liuledidai/article/details/9494363 阅读全文
posted @ 2013-07-29 21:35 Thousand Sunny 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 线段树裸题。自己写复杂了,准确说是没想清楚就敲了。 先是建点为已插花之和,其实和未插花是一个道理,可是开始是小绕,后来滚雪球了,跪了。 重新建图,分解询问1为:找出真正插画的开始点和终止点,做成段更新。 再次向notonlysuccess大神致谢,清晰的代码+清晰的思路=ac 1 #include 2 #include 3 #include 4 using namespace std; 5 6 #define lson l,m,rt>1))*(1-lag[rt]); 28 sum[rt>1)*(1-lag[rt]); 29 lag[rt]... 阅读全文
posted @ 2013-07-29 20:59 Thousand Sunny 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 比赛的时候没码出来,想太多了,总想对循环节找规律,最后还不是要对余数暴力查找。 两种排列方式,容易想到找最小公倍数,当然暴力也不是没有方法,模拟换行,因为已知当两种方式都没发生换行时,两者之差是不变的。然后离散一下就好了。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 #define LL __int64 8 9 const int MAXN=1111111;10 11 LL gcd(LL a,LL b)12 {13 if(!a)return b;14 return gcd... 阅读全文
posted @ 2013-07-29 20:42 Thousand Sunny 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 本来就是自己负责图论,结果水了= = 题目其实很裸,就是求桥的数量,只是要新加上一条边罢了。做法:先缩点、再在树上搜最长链(第一场多校的hdu 4607Park Visit就考了最长链,小样,套个马甲以为就认不出你了),加边后求桥数就可以了。 犯了一大三小四个错误-_- 竟然真的去套模板求桥数了。。竟然没注意到树边都是桥,用树边减链边就可以了。 然后,重新建图的Build()把n传进去了。 再然后,发现读数据从0~m-1,Build()里竟然是1~m。 再再然后,原来存边的su[],sv[]数组开成了 MAXN。 1 #pragma comment(linker, "/ST... 阅读全文
posted @ 2013-07-29 20:32 Thousand Sunny 阅读(232) 评论(0) 推荐(0) 编辑