bzoj 2217 [Poi2011]Lollipop 乱搞 贪心】的更多相关文章

2217: [Poi2011]Lollipop Time Limit: 15 Sec  Memory Limit: 64 MBSec  Special JudgeSubmit: 383  Solved: 159[Submit][Status][Discuss] Description 有一个长度为n的序列a1,a2,...,an.其中ai要么是1("W"),要么是2("T"). 现在有m个询问,每个询问是询问有没有一个连续的子序列,满足其和为q. Input 第一行…
[BZOJ2217][Poi2011]Lollipop Description 有一个长度为n的序列a1,a2,...,an.其中ai要么是1("W"),要么是2("T").现在有m个询问,每个询问是询问有没有一个连续的子序列,满足其和为q. Input 第一行n,m (1<=n,m<=1000000)第二行这个序列,起始编号为1,终止编号为n下面每行一个询问q,询问有没有一个连续的子序列,满足其和为q (1<=q<=2000000) Out…
若sum可行 sum-2一定可行 序列和为ans 找出和ans奇偶性不同的最大的ans,即最靠左或最靠右的1的位置 更新答案 有spj #include<cstdio> using namespace std; int L[2000005],R[2000005],a[2000005]; char s[2000005]; void calc(int l,int r,int ans){ while (ans>0){ L[ans]=l,R[ans]=r; if (a[l]==2) l++; e…
Description 有一个长度为n的序列a1,a2,...,an.其中ai要么是1("W"),要么是2("T").现在有m个询问,每个询问是询问有没有一个连续的子序列,满足其和为q. Input 第一行n,m (1<=n,m<=1000000)第二行这个序列,起始编号为1,终止编号为n下面每行一个询问q,询问有没有一个连续的子序列,满足其和为q (1<=q<=2000000) Output 对于每个询问,输出一行,如果有,输出这个序列的起…
/* 不要低头,不要放弃,不要气馁,不要慌张 题意:给你一个区间长度n和一个字符串,要求在字符串中选择一些symbol使得字符串的任意长度为n的子区间都存在至少一个symbol. 任意选取symbol,输出符合条件的symbol所有集合按照任意顺序排序的字典序最小的字符串. 思路: 1.明确 aaab 的字典序要小于aab.而aaab的字典序要小于aaabb. 那么假如从a到x(x是某个字母)全部采用也无法符合题意,但是从a到x+1全部采用能符合题意. 我们需要做的是,找最少需要多少个x+1使得…
题意:给出一棵树,两个给给的人在第\(i\)天会从节点\(i\)沿着最长路径走,求最长的连续天数\([L,R]\)使得\([L,R]\)为起点的最长路径极差不超过m 求\(1\)到\(n\)的最长路经可用树形DP求解, 设\(f[i]\):\(i\)的子树下到\(i\)的最远距离 \(g[i]\):\(i\)子树下除了\(f[i]\)子树以外的最远距离 \(h[i]\):除了\(i\)子树以外到\(i\)的最远距离 \(h[i]\)从父到儿子的转移需要判断\(i\)到底是\(fa\)的最远距离所…
挺神奇的一道题,被1M内存坑了好久= =,这道题得记录当前众数以及众数与其他数的差,如果现在读入的这个数与众数相等,就加1,否则减一,如果差为0就替代掉他,可以证明如果众数存在的话这样一定能找出来 CODE: #include<cstdio>using namespace std;int n,x,sum,ans;int main(){ scanf("%d",&n); while (n--){  scanf("%d",&x);  if (s…
题意:id=4216">链接 方法:分块以节约空间. 解析: 这题坑的地方就是他仅仅有3M的内存限制,假设我们开longlong前缀和是必死的. 所以考虑缩小这个long long数组的大小. 然后想到分块 最好还是以15为大小进行分块,事实上不T再大一点也行,可是算内存的话15是差点儿相同的吧. 然后记录每一个块内的和,然后询问的时候整块直接拿,非整块暴力枚举.顶多30个点. 所以时间上能过,然后内存上也就2.6MB左右.能够过. 可是有个问题啊,千万别打using namespace…
题目大意: http://www.lydsy.com/JudgeOnline/problem.php?id=4260 题解: 啊啊啊. 被这种SB题坑了半天. 求出异或前缀和后 从n到1枚举\(r_1\)的取值就好了啊. 用Trie 算出1 ~ \(r_1-1\)和\(a_{r_1}\)的异或最大值ans1 以及\(a_{r_1 + 1}\)和\(r_1 + 1\) ~ n的异或最大值ans2 用ans1 + max{ans2}更新答案就好了 #include <cstdio> #includ…
题目大意: \(给你n个数a_i,给定一个m,你可以选择一个区间[l,r],让他们区间加一个任意数,然后询问一次操作完之后,最多能得到多少个m\) QWQ 考场上真的** 想了好久都不会,直到考试快结束才知道怎么做. 首先,根据题目,我们可以得知,假设我们修改了\([l,r]\)这个区间,那么最后的\(ans\)就应该是总的m的个数,减去区间中m的个数,加上区间内的众数的个数 QWQ 那么我们考虑怎么来处理这个. 首先,每个数字之间都是独立的. 所以我们可以预处理每一个数字出现的位置. 然后假设…
/* 不要低头,不要放弃,不要气馁,不要慌张 题意: 给n个插座,m个电脑.每个插座都有一个电压,每个电脑都有需求电压. 每个插座可以接若干变压器,每个变压器可以使得电压变为x/2上取整. 有无限个变压器供应. 问最多能使得多少个插座与电脑匹配,使得电压一致. 如果有多种方案,输出需要变压器总数最小的那种. 输出匹配数量 输出每个插座需要接多少个变压器.输出每台电脑匹配哪个插座. 思路: 贪心 乱搞 先从小到大将插座排序,然后从地第一个插座开始,不断除以2上取整.不断找是否可以匹配.找到匹配就停…
没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.lydsy.com/JudgeOnline/problem.php?id=1050 codevs.cn:http://codevs.cn/problem/1001/ 题目描述就放bzoj的(主要是为了配合标题)(ps:codevs和bzoj的题目描述不一样). Description 给你一个无向图,…
黑白图像直方图 发布时间: 2017年7月9日 18:30   最后更新: 2017年7月10日 21:08   时间限制: 1000ms   内存限制: 128M 描述 在一个矩形的灰度图像上,每个像素点或者是黑色的或者是白色的.黑色像素点用1表示,白色像素点用0表示.现在要求你编写一个程序,计算每列上黑色像素点的个数并输出.如下图所示是一个6∗8的黑板图像. 1 1 0 0 1 1 1 1  0 1 1 0 1 0 1 0  1 1 1 1 0 1 1 0  0 1 1 0 0 1 0 0 …
1011: [HNOI2008]遥远的行星 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 5684  Solved: 2135[Submit][Status][Discuss] Description 直线上N颗行星,X=i处有行星i,行星J受到行星I的作用力,当且仅当i<=AJ.此时J受到作用力的大小为 Fi->j=Mi*Mj/(j-i) 其中A为很小的常量,故直观上说每颗行星都只受到距离遥远的行星的作用.…
4148: [AMPPZ2014]Pillars Time Limit: 5 Sec  Memory Limit: 256 MBSec  Special JudgeSubmit: 100  Solved: 49 Description 给定一个n*m的矩形,其中有f个2*2的障碍物,其中任意两个障碍物中心之间的欧几里得距离至少为6, 且每个障碍物的中心到边缘的距离至少为3.请找到一条从左下角(1,1)出发经过所有没有障碍物的点各 一次的且最后回到左下角的回路. Input 第一行包含三个整数n,…
1926: [Sdoi2010]粟粟的书架 Time Limit: 30 Sec Memory Limit: 552 MB Description 幸福幼儿园 B29 班的粟粟是一个聪明机灵.乖巧可爱的小朋友,她的爱好是画画和读书,尤其喜欢 Thomas H. Co rmen 的文章.粟粟家中有一个 R行C 列的巨型书架,书架的每一个位置都摆有一本书,上数第i 行.左数第j 列 摆放的书有Pi,j页厚.粟粟每天除了读书之外,还有一件必不可少的工作就是摘苹果,她每天必须摘取一个指定的 苹果.粟粟家…
3578: GTY的人类基因组计划2 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 367  Solved: 159[Submit][Status][Discuss] Description GTY召唤了n个人来做实验,GTY家的房子很大,有m个房间一开始所有人都在1号房间里,GTY会命令某人去某个房间等待做实验,或者命令一段区间的房间开始实验,实验会获得一些实验信息点数,点数为房间里的人数,如果一个房间里的一群人已经做过实验了那么这些人将不会增…
题意: Fish 是一条生活在海里的鱼.有一天他很无聊,就到处去寻宝.他找到了位于海底深处的宫殿,但是一扇带有密码锁的大门却阻止了他的前进.通过翻阅古籍,Fish 得知了这个密码的相关信息:1. 该密码的长度为N.2. 密码仅含小写字母.3. 以每一个字符为中心的最长回文串长度.4. 以每两个相邻字符的间隙为中心的最长回文串长度.很快Fish 发现可能有无数种满足条件的密码.经过分析,他觉得这些密码中字典序最小的一个最有可能是答案,你能帮他找到这个密码么?注意:对于两个串A 和B,如果它们的前i…
前言 此文主要介绍hash的各种乱搞方法,hash入门请参照我之前这篇文章 不好意思hash真的可以为所欲为 在开头先放一下题表(其实就是我题解中的hash题目qwq) 查询子串hash值 必备的入门操作,因为OI中用到的hash一般都是进制哈希,因为它有一些极其方便的性质,比如说,是具有和前缀和差不多的性质的. 假设一个字符串的前缀hash值记为\(h[i]\),我们hash时使用的进制数为\(base\),那么显然\(h[i]=h[i-1]*base+s[i]\) 记\(p[i]\)表示\(…
传送门 乱搞. 可以发现如果起点在左边界,终点在右边界的时候上下走的点一定是连续的(可能吧) 那么可以设 \(f_{i,j,0/1}\) 表示当前上面到 \(i\),下面到 \(j\),当前在上面/下面的最短距离. 如果起点不在左边界,终点不在右边界,那么就乱搞. 对于左边,如果向左的时候下去了再上来一定不会优与直接走过去,那么就分两种情况:左下右 或者 直接先左再次原路返回向右. 右边类似,每次到一个点用这个策略更新一下答案. 之后交换左右再做一遍即可不想卡常了,BZOJ直接特判了QwQ 上述…
Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构——块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是对把树分块这个操作感到十分好奇.他想,假如能把一棵树分成几块,使得每个块中的点数都相同该有多优美啊!小Y很想知道,能有几种分割方法使得一棵树变得优美.小Y每次会画出一棵树,但由于手速太快,有时候小Y画出来的树会异常地庞大,令小Y感到十分的苦恼.但是小Y实在是太想知道答案了,于是他找到了你,一个天才的…
题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」=[3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓.蛐蛐国里现在共有n只蚯蚓(n为正整数).每只蚯蚓拥有长度,我们设第i只蚯蚓的长度为a_i(i=1,2,...,n),并保证所有的长度都是非负整数(即:可能存在长度为0的蚯蚓).每一秒,神刀手会在所有的蚯蚓中,准确地找到最长的那一只(如有多个则任选一个)将其切成两半.神刀手切开蚯蚓的位置由常数p(是满足…
[BZOJ5288][HNOI2018]游戏(乱搞?) 题面 BZOJ 洛谷 题面自己到洛谷上看把 题解 考场上乱搞拿到了\(90\)分,简直不敢相信. 回家把代码再交了一份直接就\(AC\)了??? \(O(n^2)\)的做法应该很容易想 对于每个点作为起点,暴力向左右两侧拓展, 看看它能够到达的区间就行了. 考虑怎么优化一下,发现如果拓展的时候走到了一个已经拓展完的节点 那么一定能够到达这个点能够到达的左右位置 因此,直接沿着当前点能够到达的最远左右位置跳跃一下, 中间就不用计算了. 我们发…
感觉全是思维乱搞题. Gym - 101775J Straight Master 给你n种扑克,你每次可以出连续的3 ~ 5 张,问你能否出完. Sample Input 2 13 1 2 2 1 0 0 0 0 0 0 0 0 0 13 1 1 1 1 0 1 1 0 0 0 0 0 0 Sample Output Case #1: Yes Case #2: No 相当于每次把一个长度为3~5的区间整体减1,问最后是否能够全部减成0. 显然,每次把一个长度大于5的区间整体减1也是可以的,因为6…
[TJOI2013]奖学金 乱搞 从\(c\)个二元组\((v,w)\)中选出\(n\)个,使其\(v\)的中位数最大的同时使\(w\)和小于等于\(f\),求这个中位数 有点意思.有点像二分答案的思路,枚举中位数,将原问题转换为一个判定问题,贪心选择中位数之前\(w\)最小的\((n-1)/2\)个,之后\(w\)最小的\((n-1)/2\)个,然后判断一下是否小于等于\(f\)即可. 使用优先队列贪心即可. #include <cstdio> #include <algorithm&…
以前见过一篇另类堆优化dij的题解,然而找不到了 那位作者称它为dij-spfa(大概是这个意思,然而确实很形象 这方法比较玄学,正确性没有严格证出来,然而对拍是验证猜想的最好途径 不过也可能并不玄学,只是我一时没想出来而已,如果有见解可以发在评论 还有一个关于这个的讨论帖 众所周知,dij堆优的代码是这样,用了STL: #include<bits/stdc++.h> #define LL long long using namespace std; struct node{ int w; L…
题意:给一个长度为n数组{a[i]}.有m个操作Ti,Si,Li表示找以Ti值结束,以Si值开始,长度为Li的连续子串.找到后,将区间的答案值设为1.一开始答案值全部为0.最后输出n个答案值. 好久没打题了 算法:排序,乱搞.主要是要考虑到排序的时候,len大的放前边,这样可以break省掉不少时间.最后注意题目要求的输出顺序,是类似于输入顺序的理解. #include <cstdio> #include <cstring> #include <iostream> #i…
/* 大连热身E题 不要低头,不要放弃,不要气馁,不要慌张 题意: 在1000×1000的格子内有很多个炮弹中心,半径给定. 为某人能否从西部边界出发,从东部边界走出. 不能输出不能,能的话输出最北边的入口和出口的坐标. 思路: dfs乱搞题.把炮弹辐射范围连在一起的炮弹看作一个整体,记录下它围起来的边界区域. 然后找到最北边的输出. */ #include<bits/stdc++.h> using namespace std; ],y[],r[]; int n; ]; ,mmin1=,mmi…
4692: Beautiful Spacing Time Limit: 15 Sec  Memory Limit: 128 MBSubmit: 46  Solved: 21[Submit][Status][Discuss] Description 文章是一些单词组成的序列,单词由字母组成.你的任务是将一篇文章的单词填充到一个网格中,其中网格包含W列和足够多的行.为了布局之美,以下限制都需要满足. 1.文章中的文字需要按照原有的顺序放置.下图表示了将4个单词的文章“This is a pen”放入…
2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 70  Solved: 24[Submit][Status][Discuss] Description Abstinence岛上的居民很喜欢饮用纯酿的啤酒.迄今为止,他们都是从波兰进口啤酒,自己不生产.但今年岛上的一个城市决定建造一个酿酒厂,供给其他城市的啤酒需求. 岛上所有的城市都环绕在海岸线上,相邻两城之间用高速公路连接(也就是说,它们近似分布在一个圆上).…