洛谷 P2629 好消息,坏消息 题解】的更多相关文章

暴力算法的时间复杂度是O(n^2),考虑优化: 先导入一种思想--断环为链.说通俗点就是在原数组后面再接上下标为1--(n - 1)的元素: 以样例为例:-3 5 1 2:我们将其断环为链后可以得到这样的一维数组:-3 5 1 2 -3 5 1: 设其下标为1--7:当k=1时,判断下标1--4:当k=2时,判断下标2--5:当k=3时,判断下标3--6:当k=4时,判断下标4--7 结束: 断环为链后,题目要求就变为寻找k的个数,使k可以满足k--(n + k - 1)中,每个元素的对应的区间…
题目描述 uim在公司里面当秘书,现在有n条消息要告知老板.每条消息有一个好坏度,这会影响老板的心情.告知完一条消息后,老板的心情等于之前老板的心情加上这条消息的好坏度.最开始老板的心情是0,一旦老板心情到了0以下就会勃然大怒,炒了uim的鱿鱼. uim为了不被炒,知道了了这些消息(已经按时间的发生顺序进行了排列)的好坏度,希望研究如何不让老板发怒. uim必须按照时间的发生顺序逐条将消息告知给老板.不过uim可以使用一种叫“倒叙”的手法,例如有n条消息,小a可以从k,k+1,k+2...n,1…
顾z 你没有发现两个字里的blog都不一样嘛 qwq 题目描述-->p2629 好消息,坏消息 历程 刚开始看到这个题,发现是需要维护区间和,满心欢喜敲了一通线段树,简单debug之后交上去 \(45pts\)? 改代码的时候开始考虑这样做的正确性. 维护区间和,前后两个的区间和加起来一定等于整个区间的区间和,那我和直接求和有什么区别? 再次读题 发现必须要求每一个时刻老板的怒气值都\(\geq 0\)才行. xjb分析 既然维护区间和行不通,考虑改变线段树所维护的东西. 考虑维护些什么? 我们…
洛谷P4047 [JSOI2010]部落划分题解 题目描述 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人们总是拉帮结派形成属于自己的部落,不同的部落之间则经常发生争斗.只是,这一切都成为谜团了——聪聪根本就不知道部落究竟是如何分布的. 不过好消息是,聪聪得到了一份荒岛的地图.地图上标注了N个野人居住的地点(可以看作是平面上的坐标).我们知道,同一个部落的野人总是生活在附近.我们把两个部落的距离,定义为部落中距离最近的那两个居住点的距离.聪聪还获…
洛谷P1783 海滩防御 分析+题解代码 题目描述: WLP同学最近迷上了一款网络联机对战游戏(终于知道为毛JOHNKRAM每天刷洛谷效率那么低了),但是他却为了这个游戏很苦恼,因为他在海边的造船厂和仓库总是被敌方派人偷袭.于是,WLP动用了他那丰满且充实的大脑(或许更偏向前者),想出了一个好主意,他把海滩分成垂直于海岸线的若干列,在其中的几列上放置几个信号塔,试图来监视整个海滩.然而,WLP是一个非常心急的人,他把信号塔建好后才发现还需给信号塔供能,它们才能投入使用(这不是废话么),它们都有一…
洛谷P1155 双栈排序题解(图论模型转换+二分图染色+栈) 标签:题解 阅读体验:https://zybuluo.com/Junlier/note/1311990 原题地址:洛谷P1155 双栈排序 那么讲题了 很好的一道图论模型转化的题目 考虑什么情况下两个元素一定要放在不同的栈内 经过一番仔细思考+草稿模拟你会得出 当且仅当存在三元组\((i,j,k)\),其中\(i<j<k\)且\(v[k]<v[i]<v[j]\)时,\(i\)和\(j\)一定要放在两个不同的栈内 抽象理解…
[咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能惨惨的迎接剩下的16天(吧) 下面是题解的代码(填坑),神奇的是这四道题都需要DP.参加SXOI的大佬真是tql,此处手动@ljt12138@__stdcall T1找性质,popcnt为1的加上popcnt为0的就是答案(然而当时没想到只打了暴力) #include<bits/stdc++.h>…
[洛谷P1823]音乐会的等待 Description N个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人A和B,如果他们是相邻或他们之间没有人比A或B高,那么他们是可以互相看得见的. 写一个程序计算出有多少对人可以互相看见. 输入格式: 输入的第一行包含一个整数N (1 ≤ N ≤ 500 000), 表示队伍中共有N个人. 接下来的N行中,每行包含一个整数,表示人的高度,以毫微米(等于10的-9次方米)为单位,每个人的调度都小于2^…
洛谷传送门,BZOJ传送门 秘密消息Secret Message Description     贝茜正在领导奶牛们逃跑.为了联络,奶牛们互相发送秘密信息.     信息是二进制的,共有M(1≤M≤50000)条.反间谍能力很强的约翰已经部分拦截了这些信息,知道了第i条二进制信息的前bi(l<bi≤10000)位.他同时知道,奶牛使用N(1≤N≤50000)条密码.但是,他仅仅了解第J条密码的前cj(1≤cj≤10000)位.     对于每条密码J,他想知道有多少截得的信息能够和它匹配.也就是…
+++++++++++++++++++++++++++++++++++++++++++ +本文作者:luyouqi233. + +欢迎访问我的博客:http://www.cnblogs.com/luyouqi233/+ +++++++++++++++++++++++++++++++++++++++++++ https://www.luogu.org/problemnew/show/3527 http://www.lydsy.com/JudgeOnline/problem.php?id=2527…
dalao们真是太强了,吊打我无名蒟蒻 我连题解都看不懂,在此篇题解中,我尽量用语言描述,不用公式推导(dalao喜欢看公式的话绕道,这篇题解留给像我一样弱的) 进入正题 如果不会扩展欧里几德的话请先去做 洛谷 p1082 同余方程 设跳了k次 所以km - kn + x - y = 0(mod l) 所以k(m - n) + h * l = y - x 这个移项应该没问题吧 设(m - n)为a,k为x,h为y, l为b,(y - x)为m 那么转换为ax + by = m 根据裴蜀定理ax…
没什么特殊的想法 就是看自己很久没有更新关于题解类的文章了而已 (其实这是我好久之前做的, 只是把它从洛谷博客搬到了这里而已) 题目 首先分析题目要二分 他长成这个亚子太二分了 所以就要二分 最好是先排一下序吧 这样我们在输入的时候就能顺便处理出l和r的值, 考虑我们二分的是一个接口的大小, 所以我们的答案肯定是在最大的接口和最小的接口之间啊, 所以这样做是可行的, 而且会让我们的程序跑的更快一些. 然而并没有什么卵用. and 关于二分边界问题, 可以用一个ans来储存答案 一篇很好的关于边界…
P1310 表达式的值 题目描述 给你一个带括号的布尔表达式,其中+表示或操作|,*表示与操作&,先算*再算+.但是待操作的数字(布尔值)不输入. 求能使最终整个式子的值为0的方案数. 题外话 不久之前我在codewars上做过一道类似的题目. 以及把它搬运到了洛谷上. 布尔表达式计数问题 考虑这样一个问题: 有两个布尔变量\(x\)和\(y\). 我们知道使\(x\)等于1的方案有\(x_1\)种,等于0的方案有\(x_0\)种:使\(y\)等于1的方案有\(y_1\)种,等于0的方案有\(y…
题目链接:https://www.luogu.org/problem/P1310 本题涉及算法:栈.前缀表达式转后缀表达式,动态规划思想. 这道题目我思考了好长时间,第一时间让我做的话我也做不出来. 看洛谷上面的题解给了我很大的启发. 其中最重要的两点启发是: 启发1:中缀加操作数预处理 将原始表达式中添加上'.',这些'.'对应运算数(这么预处理能方便我接下来更方便地将前缀转后缀表达式进行处理): 启发2:动归思想 首先一个状态对应两个值,我暂且将它们设为 \(v0\) 和 \(v1\) ,其…
如果想看原题网址的话请点击这里:地毯填补问题 原题: 题目描述 相传在一个古老的阿拉伯国家里,有一座宫殿.宫殿里有个四四方方的格子迷宫,国王选择驸马的方法非常特殊,也非常简单:公主就站在其中一个方格子上,只要谁能用地毯将除公主站立的地方外的所有地方盖上,美丽漂亮聪慧的公主就是他的人了.公主这一个方格不能用地毯盖住,毯子的形状有所规定,只能有四种选择(如图): (此处图误见后处的图) 并且每一方格只能用一层地毯,迷宫的大小为 ^k * ^k的方形.当然,也不能让公主无限制的在那儿等,对吧?由于你使…
本次免费为大家提供[LGR-070]洛谷 3 月月赛的官方题解,点个赞再走呗! 代码就不上了,大家可以到别的博客上去找找!希望这篇博客能对你有所帮助!…
[NOIP提高&洛谷P1024]一元三次方程求解 Description 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差的绝对值>=1.要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数点后2位. 提示:记方程f(x)=0,若存在2个数x1和x2,且x1<x2,f(x1)*f(x2)<0,则在(x1,x2)之间一定…
https://www.luogu.org/problemnew/show/P3763 加里敦大学的生物研究所,发现了决定人喜不喜欢吃藕的基因序列S,有这个序列的碱基序列就会表现出喜欢吃藕的性状,但是研究人员发现对碱基序列S,任意修改其中不超过3个碱基,依然能够表现出吃藕的性状.现在研究人员想知道这个基因在DNA链S0上的位置.所以你需要统计在一个表现出吃藕性状的人的DNA序列S0上,有多少个连续子串可能是该基因,即有多少个S0的连续子串修改小于等于三个字母能够变成S. 是的这篇代码过不了BZO…
我现在爱死树链剖分了 题目 具体分析的话在洛谷blog里 这里只是想放一下改完之后的代码 多了一个son数组少了一个for 少了找size最大的儿子的for #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; ; int n, q, head[N], cnt, dad[N], top[N], size[N], de…
洛谷 P1152 欢乐的跳 题目描述 一个nn个元素的整数数组,如果数组两个连续元素之间差的绝对值包括了[1,n-1][1,n−1]之间的所有整数,则称之符合"欢乐的跳",如数组1 4 2 31423符合"欢乐的跳",因为差的绝对值分别为:3,2,13,2,1. 给定一个数组,你的任务是判断该数组是否符合"欢乐的跳". 输入格式 每组测试数据第一行以一个整数 \(n(1 \le n \le 1000)n(1≤n≤1000)\) 开始,接下来nn个…
洛谷链接 BZ链接 一个很容易想到的做法就是用f[i][j][t]表示t时刻在i,j处的可以滑动的最大值 f[i][j][t]=max(f[i][j][t-1],f[*i][*j][t-1]),这样大力转移 只不过会TLE+MLE 所以我们要进行一下优化 f[i][j][k]表示在第k个时间段在i,j处的可以滑动的最大值 f[i][j][k]=max(f[*i][*j][k-1]+dis(i,j,*i,*j,f[i][j][k-1]) //*i,*j表示上一个合理的位置 注意到我们的i,与*i,…
题目链接 洛谷链接 我们发现题目要我们求的num[i]东西本质上其实是 求有多少以i结尾的非前缀且能与前缀匹配的字符串,而且要求字符串长度小于(i/2) 我们先不考虑字符串长度的限制,看所有以i结尾的非前缀且能与前缀匹配的字符串如何计数 考虑到KMP算法的next数组求解的过程,大家应该都想到i结尾的非前缀且能与前缀匹配的字符串的总数就是next[i]跳到0的所跳的次数 为什么是这样的呢? 如上图所示,其中绿色的串与红色的串是匹配的,若还要寻找匹配的串 不难发现所有以红色结尾处结尾所能匹配的串都…
洛谷链接 BZOJ链接 看到这样不用修改的题目,应该佷容易就联想到了离线来处理. 我们发现若将询问按照r来排序,排完后每次对答案有贡献的仅是每个颜色最后出现的位置 我们用next[i]表示i处颜色之前出现的位置,我们利用树状数组维护每个数最后一次出现的位置小于j的个数,每次的答案就是树状数组l到r这一段的和 显然,next[i]处对答案已经不会产生贡献了,我们就可以将这个贡献减掉 然后再将i处对答案的贡献加入 # include<iostream> # include<cstdio>…
花了2h总算把边带权并查集整明白了qaq 1.边带权并查集的用途 众所周知,并查集擅长维护与可传递关系有关的信息.然而我们有时会发现并查集所维护的信息不够用,这时"边带权并查集"就应运而生了. 2.例题与思路 这里通过例题 洛谷P1196 [NOI2002] 银河英雄传说 来介绍边带权并查集的思想.题面请点击链接查看. 2.1.暴力 拿到这道题我的第一想法就是用链表模拟.对于两艘在同一列的战舰,只需知道它们到队首的距离(设距离分别为 \(dis_1\) 和 \(dis_2\))就可以知…
本蒟蒻又来发题解了QwQ; 看到这个题目,本蒟蒻第一眼就想写打个暴力: 嗯,坏习惯: 但是,动动脑子想一想就知道,普通的的暴力是过不了的: 但是,身为蒟蒻的我,也想不出什么高级的数学方法来优化: 好,回到正题 题目是要求我们求出这个累乘末尾的'0' '0'是个特别特殊的数字,因为是累乘,那么一个'0'肯定是由一个'2'和一个'5'相乘得来的: 而且'0'的个数肯定是'2'和'5'之间数目较少的那一个的个数: 而我们又是求它的阶乘的累乘, 所以'5'的个数一定要小于'2'的个数 那么'0'的个数就…
由于本人太蒻了,div1的没有参加,胡乱写了写div2的代码就赶过来了. T1 苏联人 题目背景 题目名称是吸引你点进来的. 这是一道正常的题,和苏联没有任何关系. 题目描述 你在打 EE Round 1,发现第一题非常无聊.于是你不打了,去下国际象棋了. 结果你发现,由于神秘力量的影响,你的棋子只剩下若干黑色的战车,若干黑色的主教和一只白色的国王了. 由于你很无聊,所以你把一些黑色棋子放在了 8×88\times 88×8 的棋盘上. 由于你很无聊,所以你想知道,国王放在哪些格子是安全的.换句…
https://www.luogu.org/problemnew/show/P1258(题目传送) 看题的第一眼就把题归为二分题,一直向着二分的方向走,却忽略了数学的推理.推理一番后(看了题解),发现原来如此简单. 由题意知,若要二人一起到达B点时耗时相同且最短,则二人走的路程.坐车的路程以及走和坐车的时间相同,并且车只能回接一次.设人走的路程为x.时间为t1,坐车的时间为t2,车返回接另一个人所用时间为t3,总共人的耗时为t,则t1=x/a,t2=(s-x)/b,t3=(s-2x)/b; t2…
题面 题目背景 有如下一个双人游戏:N(2 <= N <= 100)个正整数的序列放在一个游戏平台上,游戏由玩家1开始,两人轮流从序列的任意一端取一个数,取数后该数字被去掉并累加到本玩家的得分中,当数取尽时,游戏结束.以最终得分多者为胜. 题目描述 编一个执行最优策略的程序,最优策略就是使玩家在与最好的对手对弈时,能得到的在当前情况下最大的可能的总分的策略.你的程序要始终为第二位玩家执行最优策略. 输入输出格式 输入格式: 第一行: 正整数N, 表示序列中正整数的个数. 第二行至末尾: 用空格…
很有意思的题目. 题目背景 加特林轮盘赌是一个养生游戏. 题目描述 与俄罗斯轮盘赌等手枪的赌博不同的是,加特林轮盘赌的赌具是加特林. 加特林轮盘赌的规则很简单:在加特林的部分弹夹中填充子弹.游戏的参加者坐在一个圆桌上,轮流把加特林对着自己的头,扣动扳机一秒钟.中枪的自动退出,坚持到最后的就是胜利者. 我们使用的是2019年最新技术的加特林,他的特点是无需预热.子弹无限,每一个人,在每一回合,中枪的概率是完全相同的 \(P_0\). 每局游戏共有 \(n\) 只长脖子鹿,从1长脖子鹿开始,按照编号…
https://www.luogu.org/problemnew/show/3455#sub http://www.lydsy.com/JudgeOnline/problem.php?id=1101 Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d.作为FGD的同学,FGD希望得到你的帮助. Input 第一行包含一个正整数n,表示一共有n组询问.(1<=n<…