扩展----常用技巧
文章平均质量分 52
Top_xiao
这个作者很懒,什么都没留下…
展开
-
Gym - 100712I Bahosain and Digits (反转,开关问题)
题目链接 题意: 给你一个字符串 由 0 到 9 组成,自己确定一个 区间长度 k, 每次翻转只能翻转长度为k 的区间,翻转是让每个数字加1,9+1 = 0; 问题就是,确定最大的 k ,使得区间可以翻转成一个数。 这个题就像挑战书上的奶牛翻转一样。 这个题我们要枚举翻k,从大到小枚举一遍,然后我们在枚举 数字,从 0 到 9 来一遍。 然后就是看看能不能翻转成功。 f[i] 代...原创 2018-07-25 07:49:48 · 145 阅读 · 0 评论 -
1293: [SCOI2009]生日礼物 单调队列:,乱搞
Description 小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有N个,分为K种。简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置)。某些坐标上可以没有彩珠,但多个彩珠也可以出现在同一个位置上。 小布生日快到了,于是小西打算剪一段彩带送给小布。为了让礼物彩带足够漂亮,小西希望这一段彩带中能包含所有种类的彩珠。同时,为了方便,小西希望这段彩带尽可能短,你能帮助小西...原创 2018-12-24 22:21:02 · 114 阅读 · 0 评论 -
bzoj 1208: [HNOI2004]宠物收养所(set 用法)
最近,阿Q开了一间宠物收养所。收养所提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物。每个领养者都希望领养到自己满意的宠物,阿Q根据领养者的要求通过他自己发明的一个特殊的公式,得出该领养者希望领养的宠物的特点值a(a是一个正整数,a<2^31),而他也给每个处在收养所的宠物一个特点值。这样他就能够很方便的处理整个领养宠物的过程了,宠物收养所总是会有两种情况发生:被遗弃的宠物过多或者...原创 2018-09-03 19:01:00 · 169 阅读 · 0 评论 -
POJ - 3977 Subset (折半枚举)
题目链接 题意:在一个集合中找到一个非空子集使得这个子集元素和的绝对值尽量小,和绝对值相同时保证元素个数尽量小 1.折半枚举,先分成两部分,第一部分用二进制枚举所有情况,并记录在数组中,数组中应该记录两个元素,一个是每种情况的 元素之和,另一个是有多少个元素相加。 2. 记录完之后,排序,元素和一样的,更新第二个数据(有多少元素相加),取最少的元素。 3. 之后再枚举另一半,在...原创 2018-07-26 19:24:29 · 222 阅读 · 0 评论 -
POJ - 3061 Subsequence (最简单的尺取)
题目链接 就是个尺取。 #include <iostream> #include <cstdio> using namespace std; const int N = 1e5 + 1000; int n,m; int a[N]; int sum; int main() { int T; cin>>T; while(T--){ ...原创 2018-07-26 10:51:51 · 179 阅读 · 0 评论 -
POJ - 27854 Values whose Sum is 0 (折半枚举,)
题目链接 题意: 有四个数组,分别从四个数组中找到四个数, 然后使这四个数的和为 零。 每个数组有4000个,我们四重for 循环肯定不现实, 这时候就可以先枚举一半,排序, 然后再枚举一半,在已排序过的数组中找需要的值。 这时候 用 upper_bound()- lower_bound() 可以快速实现找到值有多少个。 #include <algorithm> #inc...原创 2018-07-26 09:16:22 · 137 阅读 · 0 评论 -
POJ - 2566 Bound Found (尺取法)
题目链接 题意: 给你一串数,有正有负。 再给你m 个数,每个数t[i] , 求最接近 t[i] 的一个区间,区间的值是绝对值。 一看这题没有什么思路,因为前缀和并不是递增的,要怎么办呢? 想一想,绝对值,和顺序并没有什么关系,所以我们可以给前缀和排个序,从小到大排序,然后在进行尺取。 要注意的是我们找 [l,r] 区间的值,就要是 sum[r] - sum[l-1], 这个时候,如果要...原创 2018-07-26 09:10:50 · 178 阅读 · 0 评论 -
POJ - 3279 Fliptile (反转,二维的)
题目链接 黑白格,最后是否能全部变成白色的。 每次翻转,会连同当前点的上下左右一起翻转。 这个题和一维的差不多。 先确定第一行的情况,每一行的情况根据上一行的的情况确定。 第一行的情况是有 1<<m 种,一行 m 个元素。 每种情况都用一次。 #include <cstring> #include <iostream> #incl...原创 2018-07-25 16:57:25 · 109 阅读 · 0 评论 -
bzoj 1607: [Usaco2008 Dec]Patting Heads 轻拍牛头 类似筛法
Description 今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏. 贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶牛相邻.N号奶牛与1号奶牛相邻.农夫约翰用很多纸条装满了一个桶,每一张包含了一个独一无二的1到1,000,000的数字. 接着每一头奶牛i从柄中取出一张纸条Ai.每头奶牛轮流走上一圈,同...原创 2018-12-25 10:03:33 · 111 阅读 · 0 评论