
简单算法/思维
思维,枚举,贪心,栈等等
Cosmic_Tree
什么时候才能像杨大佬一样强啊(´;︵;`)
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU - 1556 - Color the ball ( 差分 )
题目链接:点击进入题目思路每次 [ a , b ] 颜色次数+1,这不典型区间修改,最后求每个气球颜色修改次数,这不单点查询。区间修改、单点查询,树状数组。代码// Problem: Color the ball// Contest: Virtual Judge - HDU// URL: https://vjudge.net/problem/HDU-1556// Memory Limit: 32 MB// Time Limit: 3000 ms// // Powered by CP原创 2021-08-20 18:18:38 · 567 阅读 · 0 评论 -
Largest Rectangle in a Histogram - ( 单调栈 - 求面积最大的矩形 )
题目链接:点击进入题目题意n 个矩形,连在一起,按顺序给出每个矩形的高度 h [ i ] ,宽度都为 1 ,问能形成的最大矩形面积为多少。思路单调栈维护一个递减的序列,存储的是代表元素的位置,栈空或者元素大于等于栈顶元素则入栈,否则,栈顶出栈,直至栈空或者遇到栈顶元素小于等于枚举的元素,出栈过程中,更新以出栈栈顶元素为最低高度的,且以栈顶元素位置为左边界、以枚举元素为右边界所形成的最大矩形面积。出栈结束后,将最后一次出栈的栈顶位置入栈,同时更新此位置元素为枚举元素( 表示以枚举元素为最低元素时原创 2021-07-23 22:06:14 · 138 阅读 · 0 评论 -
Largest Submatrix of All 1’s - ( 单调栈 - 求最大全1矩阵 )
题目链接:点击进入题目题意给你一个m * n 的 01 矩阵,让你求最大的全 1 矩阵面积思路记录一个 h 数组,对于每个 1 的位置,记录它所在这列它的上方有多少个连续的 1 ( 算上它本身 ),0的位置设为 0 ,这个 h 数组,就相当于宽为 1 的 全 1 矩阵的高度,剩下的就是遍历每一行,用单调队列求每一行的最大全 1 矩阵面积。代码#include<iostream>#include<string>#include<map>#include原创 2021-07-23 22:05:56 · 198 阅读 · 0 评论 -
2021牛客寒假算法基础集训营5-D-石子游戏(差分+思维)
题目链接:点击进入题目:题意有 n 堆石子排成一行,其中第 i 堆石子有 ai 个,可以选择做无数次操作:每次操作把连续相邻的 k 个石子堆中的每堆石子数目加一,问能否让每堆石子的数目都相同思路先根据差分数组确定是操作前面的相等数(>0),还是操作后面的相等数(<0);其次根据 相等数的个数 确定能不能操作,若不能操作或者不能操作整数下,直接输出 -1,否则将操作次数计入答案。代码#include<iostream>#include<string>#原创 2021-03-05 17:53:30 · 224 阅读 · 0 评论 -
“图灵杯”趣味网络邀请赛-B-回文串(回文串构造)
问题描述zzq写了一个程序,可以输出一个字符串中的回文子串个数。一个串回文是指它正着读和反着读相同,一个串的子串为该串一个连续的部分,相同的回文子串在多个地方出现计算多次。今天,他想让你给出一个长度不超过 333 的仅包含小写字母的字符串,使得程序的输出恰好为 m ,即其中恰包含 m 个回文子串。一个输入中可能包含多组数据输入格式第一行一个正整数 T ,表示数据组数。接下来 T 行每行一个正整数 m 。(m<=23333)输出格式对于每组数据输出一行,一个满足题意的字符串样例输入原创 2020-11-30 17:15:28 · 445 阅读 · 2 评论 -
cf-Engineer Artem-(思维+构造)
题目链接:点击进入题意先给你一个理想的矩阵定义:每个位置的数跟它四周(上下左右)的数都不相同;然后给你一个矩阵,问是否可以通过一些操作来达到这个理想矩阵,然后输出这个理想的矩阵(答案不唯一)( 操作就是你可以对任意位置的数进行 +1 操作,但是每个位置只能进行一次 )思路将 每个位置的 横坐标跟纵坐标的和( i + j )进行奇偶判断,如果是奇数,那么就将这个位置的数变为奇数(本来是奇数不变),若为偶数,就将这个位置的数变为偶数(本来是偶数不变)( 我没想到刘爷竟然杀了个回马枪,这是我没料到的原创 2020-11-23 11:38:13 · 228 阅读 · 0 评论 -
qdu校内排位赛- K 闪电鞭曲线 (分治-分形)
题目描述思路对于 k > 2 的图形都可以由(k-1)的图形转换过来,我们可以先得到(k-1)图形,然后推得k的图形(编号和坐标都要转换),具体看代码吧(我的代码真长,ybl大佬的代码短,可惜,我瓢不到啊/(ㄒoㄒ)/~~)(这就是蓝皮书算法竞赛进阶指南的分治里面的分形例题的变形)代码#include<iostream>#include<string>#include<map>#include<set>//#include<un原创 2020-11-22 22:22:09 · 268 阅读 · 6 评论 -
Binary Table (Hard Version)-(思维)
题目描述:点击进入题意给你一个大小为n×m的二进制表,这个表由符号 0 和符号 1 组成。你可以进行这样的操作:选择属于一个 2 × 2 正方形的 3 个不同的单元格,并更改这些单元格中的符号(将 0 更改为1, 1 更改为 0 )。你的任务是使表中的所有符号都等于0。您最多可以进行 nm次 操作。你不需要最小化操作的数量。思路这是上一题的加强版,操作次数变为 nm 了,我上一次的代码过不去,无奈只能优化,但也只是对边界处理优化了一下,却神奇过了(神奇神奇,用xy哥的话来说那就是可蒸馏啊)原创 2020-11-18 14:12:45 · 1724 阅读 · 12 评论 -
Binary Table (Easy Version)-(思维)
题目描述:点击进入题意给你一个大小为n×m的二进制表,这个表由符号 0 和符号 1 组成。你可以进行这样的操作:选择属于一个 2 × 2 正方形的 3 个不同的单元格,并更改这些单元格中的符号(将 0 更改为1, 1 更改为 0 )。你的任务是使表中的所有符号都等于0。您最多可以进行 3nm次 操作。你不需要最小化操作的数量。思路1通过找找规律,我们可以知道一个 2*2 的矩阵不包含0的可以通过一次操作变为包含3个0的,包含3个0的通过一次操作可以变为包含2个0的,包含2个0的通过一次原创 2020-11-18 14:02:28 · 774 阅读 · 1 评论 -
upc 不存在的日期
题目描述你被要求实现一个程序。这个程序需要读入三个正整数y,m,d,表示y年m月d日。但是这个日期可能是不存在的。这里保证不存在的情况只有一种:d大于该月的天数。这个程序需要实现的功能就是把这个日期改为合法的对应日期。假设y年m月有a天,那么y年m月a日后d−a天就是对应日期。当然如果这个日期已经合法就不需要改了。注意闰年的二月有29。闰年的规定如下:·普通年能被4整除且不能被100整除的为闰年。如2004年是闰年,2003年不是闰年。·世纪年能被400整除的是闰年。如2000年是闰年,19原创 2020-07-05 22:54:55 · 476 阅读 · 0 评论 -
upc 偶数(栈)
时间限制: 1 Sec 内存限制: 128 MB题目描述给一个长度为 N 的数列,每次可以删掉这个数列中任意两个相邻的和为偶数的数。删掉之后两边的数列会合并在一起。请问进行一系列删除操作后,数列的剩余长度最短为多少。输入输入第一行是一个数 N,代表数列长度。接下来一行是 N 个数,代表数列中的每个数。对于 40% 的数据,1 <= N <= 1000。对于 100% 的数据,1 <= N <= 100000,0 <= 数列中的数 <= 100000输出原创 2020-06-16 23:27:09 · 306 阅读 · 0 评论 -
upc PinkRabbit写情书(枚举)
时间限制: 1 Sec 内存限制: 128 MB题目描述PinkRabbit在决定好表白的日期之后,决定写一封情书给他的妹子。PinkRabbit在阅读了「句法结构」「普通语言学教程」等诸多形式语言学著作之后,用数学方法得到了一些成果。他将n个情书中的常见词汇整理成一张「情书词汇浪漫度归纳表」,并且计算出了每个这些词汇的浪漫度ri。一封情书有它本身的浪漫程度。定义情书的浪漫程度为R,每个情书常见词汇在这封情书中出现的次数为ti,那么一封情书的浪漫程度能被如下的一个公式定义:现在PinkRabbit原创 2020-05-20 21:53:11 · 578 阅读 · 0 评论 -
upc 数学难题(枚举+容斥)
时间限制: 1 Sec 内存限制: 128 MB题目描述学佛Fife最喜欢Bemy上的数学课了。因为他可以在数学课上尽情的蒸发学水~Bemy为了不让学佛Fife过度骄傲,以保证每一个学水都能不被他影响,自信地不断地进步,给Fife一个有挑战性的数学题。因为Fife不想让妹子Maze等得太久,决定把这道题交给你。题目是这样的:有一个表达式(B+E+S+S+I+E)(G+O+E+S)(M+...原创 2020-04-30 22:56:33 · 349 阅读 · 0 评论 -
百练-2812:恼人的青蛙(暴力枚举+剪枝优化)
总时间限制: 2000ms单个测试点时间限制: 500ms内存限制:65536kB描述在韩国,有一种小的青蛙。每到晚上,这种青蛙会跳越稻田,从而踩踏稻子。农民在早上看到被踩踏的稻子,希望找到造成最大损害的那只青蛙经过的路径。每只青蛙总是沿着一条直线跳越稻田,而且每次跳跃的距离都相同。如下图所示,稻田里的稻子组成一个栅格,每棵稻子位于一个格点上。而青蛙总是从稻田的一侧跳进稻田,然后沿着某...原创 2020-04-11 19:59:19 · 815 阅读 · 0 评论 -
百练-2692:假币问题(枚举)
总时间限制: 1000ms内存限制: 65536kB描述赛利有12枚银币。其中有11枚真币和1枚假币。假币看起来和真币没有区别,但是重量不同。但赛利不知道假币比真币轻还是重。于是他向朋友借了一架天平。朋友希望赛利称三次就能找出假币并且确定假币是轻是重。例如:如果赛利用天平称两枚硬币,发现天平平衡,说明两枚都是真的。如果赛利用一枚真币与另一枚银币比较,发现它比真币轻或重,说明它是假币。经过精心...原创 2020-04-09 17:35:03 · 1302 阅读 · 3 评论 -
百练 2811:熄灯问题(枚举)
描述有一个由按钮组成的矩阵,其中每行有6个按钮,共5行。每个按钮的位置上有一盏灯。当按下一个按钮后,该按钮以及周围位置(上边、下边、左边、右边)的灯都会改变一次。即,如果灯原来是点亮的,就会被熄灭;如果灯原来是熄灭的,则会被点亮。在矩阵角上的按钮改变3盏灯的状态;在矩阵边上的按钮改变4盏灯的状态;其他的按钮改变5盏灯的状态。在上图中,左边矩阵中用X标记的按钮表示被按下,右边的矩阵表示灯状态的...原创 2020-04-08 21:31:52 · 500 阅读 · 0 评论 -
upc 路由器安置
时间限制: 1 Sec 内存限制: 128 MB题目描述一条街道安装无线网络,需要放置M个路由器。整条街道上一共有N户居民,分布在一条直线上,每一户居民必须被至少一台路由器覆盖到。现在的问题是所有路由器的覆盖半径是一样的,我们希望用覆盖半径尽可能小的路由器来完成任务,因为这样可以节省成本。输入第一行包含两个整数M和N,以下N行每行一个整数Hi表示该户居民在街道上相对于某个点的坐标。输出仅包含一个数,表示最小的覆盖半径,保留一位小数。样例输入2 31310 样例输出1.0提示对原创 2020-06-15 22:56:11 · 477 阅读 · 0 评论 -
Codeforces Round #681 A--C
题目 A 链接:点击进入题意n 个孩子, 4 * n 个座位(座位编号 1 - 4 * n ),让你输出 n 个孩子的座位号(任意顺序,多个答案输出其一)要求:每两个座位号的 gcd 不能为 1 ,同时两者也不能是整除关系思路直接从 4 * n 开始输出(每次 - 2 ),到 2 * n + 2,这样最大公约数都是 >= 2 , 同时也都不是整除关系代码#include<iostream>#include<cstdio>#include<cmath&原创 2020-11-03 11:29:35 · 345 阅读 · 0 评论 -
Codeforces Round #680 A-B
题意给你两个集合,每个集合都有原创 2020-11-01 23:45:32 · 334 阅读 · 0 评论 -
A Golden Spirit (思维)-2020ccpc(威海)
题意一座桥,桥两侧各有 n 个人,每个人都想去桥对面休息 x 分钟后再返回(必须休息够 x 分钟才能被背回去),问你满足所有人的愿望,最少需要多少分钟(你背一个老人过一次桥需要 t 分钟)思路最优的办法是(前 2 n 次)每一次过桥先背一个人去对面休息,等到所有(2 n个)人都到了(相对于自己一开始的位置的)桥对面,然后,这时候自己应该在自己最开始的位置,而此时每个人的休息所剩时间应该是:x x-2t x-4t … x-2*(n-1)t | x-t x-3t x-..原创 2020-10-26 20:24:36 · 994 阅读 · 0 评论 -
upc- Ideal Pyramid
题目描述Every pharaoh cares about his legacy. Reigning pharaoh Inaros the Great wants to be remembered for a long time. He is going to build the largest pyramid the humankind has ever seen.Of course, the proper pyramid should have four sides at the bottom, o原创 2020-10-10 18:57:04 · 328 阅读 · 0 评论 -
牛客-What Goes Up Must Come Down(思维)
题意一个电影院有 r 行, 2 * s 列座位,中间有一个过道,有 p 个人,问所有人走出去需要多少时间(每人每个时间只能走一步,也可以不走,一个位置只能站一个人)思路可以倒过来想,把走出去想象成走进来,让距离门口最远的先走,距离就是时间,每个人走的时间还应当加上它等待的时间(等待他前一个人进门,他才能进),所以把距离排序,然后开个 cnt 变量记录等待时间,然后遍历每个人,更新最大值(每个人都坐在座位上才算结束)代码#include<iostream>#include<s..原创 2020-10-10 18:53:46 · 396 阅读 · 0 评论 -
Frogs(找规律 + 容斥)
题目链接:点击查看思路一开始找找规律,我们可以得到,走过的都是 a [ i ] 和 m 的最大公约数的倍数,如果我们硬求会 T , 所以我们可以枚举 m 的因子,看能否整除 a [ i ] ,然后通过等差序列的和(( 首项 + 末项 ) * 项数 / 2 )我们可以求得 m 范围内此因数及其倍数的和,同时我们还要考虑一个容斥的问题( 就像因子 2 ,3 ,如果都求等差和,那么它们的公倍数将会计算两遍 ),所以我们开一个 num 标记数组,记录此因子数在计算过程中的状态( 是该加 ,还是该减 ,还是不加不原创 2020-09-15 15:44:18 · 303 阅读 · 0 评论 -
Multiplication Table(模拟)
题目连接:点击查看思路全是 ‘ ?’ 输出Yes ;否则检验不是’ ? ’ 的数是不是正确的(记录此数的位置(纵横坐标),同时枚举这个数的因数,如果因数比位置大,说明此数合法);如果只有一个不是‘ ?’,只检查这一个数即可;如果有多个不是‘ ?’的数,可通过第一个不是‘ ?’的数来检验剩下的不是‘ ?的数是否合法(还是看代码吧,小白的文字描述功力属实不大行)代码#include<iostream>#include<cstring>#include<strin原创 2020-09-14 16:22:18 · 407 阅读 · 0 评论 -
Estimating the Flood Risk(思维)
题目描述Mr. Boat is the owner of a vast extent of land. As many typhoons have struck Japan this year, he became concerned of flood risk of his estate and he wants to know the average altitude of his land. The land is too vast to measure the altitude at many s原创 2020-09-10 12:51:31 · 331 阅读 · 1 评论 -
upc 去除干员 (delete)
题目描述有一款游戏叫《明日方舟》( kokodayo ),这款游戏里有许多干员,现在从中挑出N位来,组成一个编队,编号为i的干员有一个战斗力ai。Konnyaku_LXZ 很爱玩这款游戏,但他想玩的有游戏体验一点,因此他不想带战斗力为M的干员,可是他又不想再弄一个编队。所以,他想直接将原来编队的长度缩短并且将里面战斗力为M的所有干员全部去除。但是他实在是太弱了,不知道该怎么办,于是他找到了你,请你来帮他解决这个问题。要求:不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件原创 2020-07-03 00:03:25 · 713 阅读 · 0 评论 -
upc FZ投票
题目描述又到了一年一度的T国大选,经过拉票,实力强劲的国王Tweetuzki成功连任。经过严格统计,他获得了超过一半的选票。Tweetuzki十分开心,并且决定把它的编号作为自己的幸运数字。可惜前几天由于他忙着切题,把自己的编号忘了。现在他得到了所有人的选票序列,希望你帮他找出他的编号。输入第一行一个正整数n,表示T国的选民数量。第二行n个正整数a1,a2,⋯,an,表示每个人的选择结果。输出一行一个数表示 Tweetuzki 的编号。样例输入 Copy62 3 3 3 3 3样例输出原创 2020-07-02 23:50:45 · 271 阅读 · 0 评论 -
upc 回忆与困惑
时间限制: 1 Sec 内存限制: 128 MB题目描述小学校里的欢声和校园里的花都溶解在静沉沉地夜气里。那种声音实在可见可触,可以供诸瓶儿,一簇又一簇。我听见钟声,像一个比喻,我没有数,但我知道他的急徐、轻重,我听出今天是西南风。西南风?这个仿佛有点陌生又总是在那边的词语使我沉寂了下来。它使我想到了一个困惑,一个以前的已经解决,却还是有点淡淡的神秘的困惑。我记得,当时是在西南方行进的远离故乡的火车上,遇到了这个兔子一般神秘的问题这是一个跳跃的数列。经过长时间的观察,我发现这个数列的前面几项是这原创 2020-05-08 23:03:43 · 231 阅读 · 0 评论 -
upc string
时间限制: 1 Sec 内存限制: 128 MB题目描述Dave最近学习了字符串的字典序,他现在在思考这样一个问题,对于一个由小写字母组成的字符串s,最多可以去掉其中一个字符,如何使得得到的字符串的字典序最小。字典序,顾名思义就是字典中的顺序,比较的方法是从前往后依次比较,直到第一个不同的字符来确定字典序,如果没有则长度较短的字典序小。例如对于字符串s1 = “abc”, s2=“abdc”, 先比较第一个字符,相同,继续比较第二个字符,也相同,而第三个字符’c’<‘d’, 所以字典序s1&原创 2020-05-08 22:50:44 · 262 阅读 · 0 评论 -
upc 小y的序列
时间限制: 1 Sec 内存限制: 128 MB题目描述又是一年 NOIP,高中机房的学长们都在做题,安静的有点可怕,突然听到隔壁机房某老师熟悉的声音:“我们看一下这道题,找找规律发现这个序列很熟悉啊,就是2,3,5,7,12这其实就是一个a[i+1]-a[i]=i的序列哦,突然隔壁的吵闹声大了起来,老师,老师好像有个数写错了(大雾)~~~~~~~~~~~~课后,小y大牛跑到隔壁机房在黑板...原创 2020-05-06 14:46:21 · 288 阅读 · 0 评论 -
upc 洁净无瑕(思维)
时间限制: 1 Sec 内存限制: 128 MB题目描述小X是一位富豪,酷爱收藏宝石。在他的收藏柜中,从左到右依次摆放着各种形态不一的钻石。为了评价一颗钻石的美观程度,小X为每颗钻石赋予了一个洁净度ai。小X认为,钻石之间不能太冲突。他会从左到右依次看过去,若两颗相邻的钻石,其中一颗的洁净度为奇数,另一个为偶数,他就会下定狠心将这两颗钻石扔掉。如此反复,直到没有冲突的钻石了。现在他想知...原创 2020-05-06 11:07:28 · 294 阅读 · 0 评论 -
中石油:皇家棋神(思维)
时间限制: 1 Sec 内存限制: 128 MB题目描述看到下图,拥有QQ宠物的同学对下图一定不会陌生,没错这就是QQ宠物皇家战棋。自从2009元旦前夕腾讯推出该款游戏,迅速成为热门游戏,不仅仅因为其可爱的造型,更有元宝和蓝钻的诱惑。小明为了给自己的宠物赚取足够的生活费,也加入了激烈的角逐。由于战术运用得当,加上些许的运气,小明屡战屡胜。转眼间,时间过去了2个月,小明也成为了名副其实的万元...原创 2020-04-14 21:17:21 · 471 阅读 · 0 评论 -
石油大:2的幂数(思维)
时间限制: 1 Sec 内存限制: 128 MB题目描述小明开始学习二进制转化到十进制,其中要用到2的幂(2的3次幂就是3个2相乘),他觉得这个很有意思。既然通过2的幂相加可以得到十位数,那么反过来,一个十进制数是否可以通过若干个2的幂相加得到呢?小明开始研究起来,他先列出了所有2的幂:1,2,4,8,16,32,64……。4=1+1+1+14=1+1+24=2+24=4 ...原创 2020-04-14 21:03:27 · 443 阅读 · 0 评论 -
Little Artemtime(思维)
limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard outputYoung boy Artem tr...原创 2020-04-09 00:17:36 · 287 阅读 · 0 评论