ACM尺取法
尺取,二分枚举
Ordinary_yfz
知乎个人主页zhihu.com/people/zyf-98-4,现在涉及CV,transfer learning,unsupervised,GAN,REID,OOL很多研究方向,会经常写一些综述/论文阅读笔记。
展开
-
POJ 1903 & ZOJ 2469 & UVA 1326 Jurassic Remains【题解报告|折半枚举+位运算】
题意:给定n个只有大写字母组成的字符串,选取尽可能多的字符串,使得这些字符串中每个字母的个数都是偶数。n<=24思路:直接枚举每个字符串的选或不选,复杂度是O(2^n)。其实还有更简便的方法。对于每个字母,其实具体出现了多少次并不重要,重要的是奇数次还是偶数次,我们用0对应奇数次,1对应偶数次。对于每个字符串,我们就可以计算出对应的二进制数,方法如下。如果A出现奇数次,那么二进制数第一个位置为1,偶数次为0;如果B出现奇数次,那么二进制数第二个位置为1,偶数次为0……以此类推,每个位置都有一个对应转载 2020-06-27 13:20:59 · 215 阅读 · 0 评论 -
二分法,尺取法,折半枚举,你们到底是什么?
最近写了一些题,对这三个概念稍微有点混淆,写点东西回忆一下。二分法二分法简介,将题目要求的量当做目标值,使用两个参数l,rl,rl,r,lll从初始位置(往往是最小值之类的),rrr从最终位置(往往是最大值),每次判断二者的平均值mid=(l+r)>>2mid=(l+r)>>2mid=(l+r)>>2是不是满足题意,根据该判断更新lll或者rrr的值。二分法...原创 2020-03-07 23:34:12 · 363 阅读 · 0 评论 -
Poj:2100:Graveyard Design-尺取法,连续序列和判定,超详细
题意:某个数nnn可以表示成连续的数的平方和,求出有多少种这样的表示方法。求表示方法按连续数的个数递减排列。核心思想对于这种连续序列和等于某个数,小于某个数的最长连续序列和,大于某个数的最长连续序列和等等问题,经常会使用前缀和+尺取法的解题思路。尺取法详解,这道题也不意外,开始的想法是求出所有小于nnn的数的平方,将他们的前缀和搞出来然后正常的尺取就好了,但是nnn的量级有点大,这样会造成...原创 2020-03-07 18:05:46 · 222 阅读 · 0 评论 -
POJ:2739 Sum of Consecutive Prime Numbers:区间素数+尺取法详解
连续素数之和的问题,可以先把数据范围内的素数列出来,求取这些素数的前缀和,但是10000以内的素数,普通方法判断一个数是否是素数复杂度O(n)O(n)O(n)加上10000个数,感觉会TLE,没有尝试。此时可以采取埃及筛法枚举10000以内的素数。埃及筛法简介求取这些素数集合的前缀和,简单来看sum[j]−sum[i]=ksum[j]-sum[i]=ksum[j]−sum[i]=k,说明k...原创 2020-03-07 16:03:02 · 233 阅读 · 0 评论 -
Poj :2566:Bound Found 尺取法,连续序列求极值
题目大意:给出N个数,Q个询问 要求你输出Q的询问的结果,询问的内容为,找出一个区间,区间内的数的和的绝对值要最接近所给的数解题思路:这种求区间和的问题,比如求一个连续区间和大于kkk且长度最短,求一个连续区间和小于kkk且长度最长,求一个连续区间和绝对值最接近kkk都很适合使用尺取法进行求解。之前写过一篇尺取法的用法,我们要解决的无非下面三个问题1、 什么情况下能使用尺取法?2、如何推...原创 2020-03-07 12:22:34 · 247 阅读 · 0 评论 -
尺取法小计
尺取法简介尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的。那么,用”尺取法“做上面这道题思路应该是这样的:其实,这种方法很类似于蚯蚓的蠕动。1)用一对脚标i,ji, ji,j。最开始都指向第...原创 2020-02-28 08:53:44 · 228 阅读 · 0 评论