思路算法
Mr_Dark_2002
这个作者很懒,什么都没留下…
展开
-
bzoj2038/洛谷P1494 莫队算法
学习了一下最基础的莫队,感觉应付noip应该是够了,不准备再学习其他更高级的莫队了,这个算法不难而且很巧妙,可以让我的程序跑(wa)的飞快。 这道题是最基础的莫队了,莫队算法的思想就是利用已经算出的结果优化复杂度,大致程序是: 1、将所给数分块; 2、将询问区间以块为第一关键字,不同块以l为关键字,相同块以r为关键字排序; 3、利用区间之间的重复部分减少时间复杂度; 整个思路清晰有效,其...原创 2018-08-21 15:52:13 · 214 阅读 · 0 评论 -
bzoj4236 JOIOJI
题目大意:从一个只有J、O、I的子串截取一个最长的子串,要求子传中J、O、I的数量相等;题解:自己并不会做 ,题单里标签是神题,看完题解后我也有同感。定义s0,s1,s2是JOI三个字母个数的前缀和,那么对于i,j+1两个位置之间的子串如果满足要求,那么一定有:s0i-s0j=s1i-s1j=s2i-s2j;等式同时减掉s0i-s0j,那么:s1i-s1j-s0i+s0j=s2i-s2j-...原创 2018-09-22 09:36:00 · 188 阅读 · 0 评论 -
关于逆序对的一种运用(树状数组)
主要题目:bzoj4430 27894430题目大意:给定三个串,长度为n,求三个串中序列前后性质的字符对数。发现直接求不好求,但是我们学过逆序对。已知总的对数是n(n-1),只要求出3个中前后不一样的对数就好。我们可以两两求出逆序对数,再除以2,用总对数减去就是答案了。问题的关键在于对于两两序列求其中逆序的对数。我们整理一个序列ai,令ai为在第一个串中位置为i的数再第二个串中的位置...原创 2018-10-06 08:38:08 · 255 阅读 · 0 评论 -
关于单调队列的一些运用 洛谷P3594
题目大意:给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0。请找到最长的一段连续区间,使得该区间内所有数字之和不超过p。数据范围:n<=2e6;题解:我们考虑对于j作为右端点,那么这个区间的左端点在右端点递增时具有单调递增性,可以用反证法证明。那么对于每一个右端点,我们要求出它的左端点即可,那么问题就转化成了求已知右端点与上次询问的左端...原创 2018-10-22 21:05:17 · 429 阅读 · 0 评论