思维
~KIKI~
这个作者很懒,什么都没留下…
展开
-
E 捡贝壳
题目链接:2021年广东工业大学第十五届文远知行杯程序设计竞赛(同步赛)E题目大意长度为n的数组a,q次询问,每次询问包含l,r,x。就是问区间[l,r]内x倍数的个数。思路可以将每个值的位置存vector,然后询问的时候倍增思想,从x开始,2x,3x,往上找,然后判断这些数的位置是不是在区间内即可。ac代码#include<bits/stdc++.h>using namespace std;mt19937_64 rng(time(0));#define io c原创 2021-03-29 11:44:43 · 169 阅读 · 0 评论 -
D. Let‘s Go Hiking
题目链接:Codeforces Round #706 (Div. 2)题目大意A,B两个人走棋,给一个序列n个数ai,刚开始两个人随便选一个位置idxA,idxB。然后对于A来说,A是一直在往数值减小的方向走一格直到不能继续走或者撞到B。B是一直在往数值增加的方向走一个直到不能继续走或者撞到A,不能继续走的人输。A先手,问A能不能赢。思路可以把这个序列看成一座座山,有好几个山峰(山峰就是左右两边数值都比当前的小),开始只能在山峰,因为山峰有两个方向好走,如果不选山峰的话,B会把A的路堵死,A原创 2021-03-11 17:40:51 · 313 阅读 · 1 评论 -
2021牛客寒假算法基础集训营2 E-牛牛与跷跷板(尺取+bfs)
题目链接:点这里~题目大意二维平面上有n块跷跷板,每块跷跷板都有三个值:纵坐标,横坐标左右端点,,牛牛可以从一块跷跷板走到另一块跷跷板当且仅当两块跷跷板有公共边(也就是公共点不算),然后牛牛想从第1块跷跷板走到第n块跷跷板,问走的最少步数。思路问最短路径可以直接bfs,但就是建边较麻烦。首先建1e5个vector,第i个vector存纵坐标为i的跷跷板,每个跷跷板有三个属性:编号和左右端点。同一层只需看左边跷跷板的右端点跟右边跷跷板左端点是否想等即可建边,否则就看第i层跟第i+1层,这部原创 2021-02-08 21:14:53 · 267 阅读 · 0 评论 -
F-牛牛与交换排序(思维、双向队列)
题目链接:点这里~题目大意给你一个长度为n的全排列,你可以选择长度为k的区间,然后对这个区间进行翻转 翻转操作可以无数次执行,但是每次翻转长度固定,而且翻转区间左端点是不递减的,即 问能否将其变成1到n的升序?如果可,输出任意一个k。思路翻转就相当于是将归位,因为长度固定,翻转区间左端点不递减,所以如果说这次不归位,那么下次就再也没机会了,因为属于你的位置再也见不到了。 那个就找到第一个a[i]!=i的位置,找到i的家,记为pos,那么再找到a[i]==pos的位置,找到走失的i的位置,原创 2021-02-03 22:25:34 · 297 阅读 · 0 评论 -
zcmu1578: 自习教室
题目链接:https://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1578题目大意长为n宽为m的座位表,有k个噪音源,产生噪音值为s的噪音,他对周围的影响按照距离骤减,两点之间距离是横纵坐标差的绝对值之和,问哪个位置噪音值最小,一样小的输出i较小的,还一样输出j小的范围:(0<n,m<100,0<=k<=n*m,0<=i<n,0<=j<m,0<s<10)思路直接对噪音源跑bfs会t!原创 2021-01-18 12:39:38 · 114 阅读 · 0 评论 -
zcmu1517: A Sorting Problem
题目链接:https://acm.zcmu.edu.cn/JudgeOnline/problem.php?id=1517题目大意一个长度为n的数组,每次可以选择一个数ai,然后ai就会从当前位置往后交换位置,如果右边的数比他小,那么就交换位置,否则停止移动。问最少要选几个点移动才能使得最后的序列升序。思路首先评判标准是后面有没有比他小的数,然后每个数都只能往后移动或者不移动,那么比他小的数不会跑到他左边就不会变。那么选的数都有一个共同点,就是后面有没有比他小的数了,可以预处理出x到n原创 2021-01-08 13:00:52 · 521 阅读 · 1 评论 -
2020牛客多校第七场 解题报告BDH
题目链接:https://ac.nowcoder.com/acm/contest/5672A-Social DistancingB-Mask Allocation题意:将n*m个口罩分成k份,使得可以从中挑出n组,每组口罩一样多;或者从中挑出m组,每组口罩一样多,最后输出字典序最大。不难发现,若 n>m,每次向答案中加入的就是 (n/m)∗m 个 m,然后再对 (n%m,m) 进行分组,类似于辗转相除法求gcd。D- Fake NewsH-DividingJ-Poin...原创 2020-08-05 21:53:06 · 220 阅读 · 0 评论 -
2020牛客多校第八场 解题报告GIK
题目链接:https://ac.nowcoder.com/acm/contest/5673G-Game SET题意给了n张SET牌,包含了万能牌,输出任意一种可以够成SET的方案。 形成SET条件:抽3张牌,每张牌有四个属性,如果这3张牌的对应的属性要么都相同,要么都不同。“*”是万能牌可以充当对应属性任何值,当然每个属性只有三种值。 如果有随便输出一组,否则输出 -1思路直接暴力枚举,三个for循环 如果属性一栏有万能牌的,那么其他两个无论取什么都能使得该属性一栏要么都相同要么..原创 2020-08-04 10:42:23 · 222 阅读 · 0 评论 -
2020牛客暑期多校训练营(第五场)解题报告DEFI
题目链接:https://ac.nowcoder.com/acm/contest/5670目录D-Drop VoicingE-Bogo SortD-Drop Voicing题意:长度为n的排列,可以有两个操作。第一个是Drop-2,就是把倒数第二个位置的元素移到第一个前面:a1a2a3a4->a3a1a2a4第二个是Invert,就是把第一个位置的元素移到最后:a1a2a3a4->a2a3a4a1问你进行几段连续的Drop操作可以使得这个排列是一个递...原创 2020-07-26 15:40:29 · 148 阅读 · 0 评论