2016年8月3日

HDU 5785 interesting

摘要: 给你一个字符串,问满足i<=j<k并且【i,j】和【j,k】都是回文的时候,i*k的sum值是多少。 看了网上的做法,基本都是每个点算贡献,但是有的记录起来比较考验代码能力。 其中有一种做法是这样的: 首先,推公式,自然不用说。由于每个i*k必然出现在一个以j为中心的双回文串中,所以直接统计左右以当 阅读全文

posted @ 2016-08-03 21:10 very_czy 阅读(191) 评论(0) 推荐(0) 编辑

准备学习后缀数组 先存一个论文里的模板

摘要: #include #include #include #include #include using namespace std; #define F(x) ((x) / 3 + ((x) % 3 == 1 ? 0 : tb)) #define G(x) ((x) = 0 ; i--) b[--wsd[wv[i]]] = a[i]; } void dc3(int *r,int *... 阅读全文

posted @ 2016-08-03 14:45 very_czy 阅读(190) 评论(0) 推荐(0) 编辑

HDU 5784 How Many Triangles

摘要: 给你一堆点,找锐角三角形。 TWO POINTER 思想。 统计出所有锐角和直=钝角的数目。 做法是这样的:对每个点对所有点极角排序,然后TWO POINTER计算每一个锐角(一个边上有好几个点也会被统计好几次),直角钝角。然后ans=(锐角个数-直角钝角个数*2)/3;因为每一个角度可能也只可能出 阅读全文

posted @ 2016-08-03 11:51 very_czy 阅读(380) 评论(0) 推荐(0) 编辑

导航