div3
s4ul
这个作者很懒,什么都没留下…
展开
-
暑假嗨11
https://vjudge.net/contest/386618#problem/A A 题意: 给定一串数,问每一个数最右边的小于这个数和这个数之间的距离是多少,如果没有输出-1. 我的思路: 我是用数状数组来解决的。 struct skr { ll v; int i; }a[N]; 1.先按给定的顺序给每个数一个序号id for(int i=1;i<=n;i++) {cin>>a[i].v;a[i].i=i;} 2.将这个数组按照v从小到大排序 3.从左到右遍历排好序的数组(设当前遍原创 2020-07-31 22:57:23 · 94 阅读 · 0 评论 -
8.6日Codeforces Round #661 (Div. 3)补题
C 这个题我做出来了,不过是枚举的总重量的大小,因为数不大嘛,不超过一百,但是我看别人的做法跟我不一样,所以就粘过来了,算是扩展一下思路。 题意: 一共 t 组测试样例,每组输入一个 n 表示一共有n个人,然后第二行输入n 个数,代表第 i 个人的权重,我们需要对其进行两两配对,每个人只能属于一个队伍,队伍的权重等于两人权重之和,求最多可以组成多少对权重相同的队伍。 解题思路: n = 50,排个序 从2 -> 2 * n 双指针即可,注意一下指针在变换的过程中判断一下当前权重和当前枚举的 s 之间的原创 2020-08-06 23:10:37 · 148 阅读 · 0 评论 -
暑假嗨9
比赛地址 A 题意: 剧院有n种剑,每种都有x把, y 个人来到剧院拿了相同的剑(每个人拿的剑的种类相同),只有1种剑没有被拿过,然后给出每种剑剩余的个数,求最少有多少个人,拿了多少把剑 思维 因为所有种类的剑初始数量相同,每个人拿且只拿一种剑,且每个人拿的数量相同,就可以想到将剩余的剑排序后,最大的数经过i个人拿之后可以到达其余的任何一个数.所以最大数依次与剩余的数相减得到的所有的数的公约数可以为每个人拿的剑数,为了使人最小,所以要是最大公约数。 D 题意: 先给一张白纸的坐标,再给你两张黑纸的坐标,坐标原创 2020-07-23 21:34:41 · 112 阅读 · 0 评论 -
暑假嗨8
B1&B2 题意: 你有一个手机,手机最多一次只能显示k个人的消息。 当一个人消息来得时候,如果他在手机屏幕上,那么就没有任何改变。 如果他不再手机屏幕上,则屏幕最下边的人被删除,把剩余的消息都往下移一个单位,这样第一个就空出来,把最新的消息放在第一位。 为了解决B1选暴力的算法没有什么意义,我直接想的怎么优化,怎么做B2。在比赛结束后4min我才做对。总有小的错误,如果能避免代码中的小错误,我就可以省出这四分钟,再过俩题,而且不只是这道题,很多题代码在才开始写的时候都有错误,浪费时间,以前总是忽略原创 2020-07-22 10:07:48 · 138 阅读 · 0 评论 -
暑假嗨7
A 题意: 给出两个数,问他俩的差能否被一个素数整除,如果能就输出yes,不能就no B 题意:在一维坐标轴上有 n个怪物在0坐标右边。你可以用炸弹炸任何一个位置,产生的效果是炸死这个位置的怪物,并且把所有在这个位置左边的怪物坐标左移 r位,右边的怪物坐标右移 r位,当怪物的坐标小于等于 0 时,怪物就会被陷阱杀死。 思路倒是不难出,难得是优化,一直超时。 稍加思考就会发现要把数据排序然后去重,然后从后往前炸,最右边的能满足(m-x)*r>=b[x]的,即为我们要求的点x,用m-x就是结果。 最不优化原创 2020-07-21 01:00:16 · 87 阅读 · 0 评论 -
暑假嗨1~6难题思路总结(未完待续)
看到了老师发的文章觉得自己没有正确的总结题目,于是今天想把补题放一放,把做过的难题思路再整理一遍。 暑假嗨1 C Yet Another Broken Keyboard 题意: 给一串字符,再给出可以使用的字母,问用给的字母能够打出多少连续的子串,是连续的! 当时做的时候想的是枚举,枚举长度,先找只包含所给字母的长度为1的子串,再找长度为2的,再找长度为3的,但是这样做需要不停地将整个字符串遍历,而且遍历时还要判断是否满足条件。代码就算写出来,也肯定超时,所以否定了这个想法。 要做出这道题,必须要认真分析题原创 2020-07-18 23:42:46 · 153 阅读 · 0 评论 -
暑假嗨7.10
A 题意 键盘上有一些键坏掉了,坏掉的键按一次会出现两次,给一个按了键盘后出现的字符串,现在找出其中其中可能坏掉的键 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <cmath> #include <map> #include <set> #include <string> #include <原创 2020-07-10 23:00:22 · 117 阅读 · 0 评论 -
暑假嗨7.9
A 题意:有一队人,其中有两个仇人,你的任务是在给定的交换次数的情况下,让这俩人离得越远越好,交换一次是相邻两两交换。 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <cmath> #include <map> #include <set> #include <string> #include &l原创 2020-07-09 23:11:01 · 104 阅读 · 0 评论 -
暑假嗨7.8
A 题意: 题意: 给出4个数,分别是a,b,n,s 。 如果能用x,y去构造成下面式子,就打印“YES”,否则就打印“NO” x×n+y×1=s x的范围[0,a] y的范围[0,b]。 代码 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <cmath> #include <map> #include <set&g原创 2020-07-09 00:15:14 · 104 阅读 · 0 评论 -
暑假嗨7.7
A 题意: 给每个房间装暖气,对于每个房间,给出两个数,第一个为该房间可装暖气个数,第二个为需要的暖气片个数,当一个暖气包括n个暖气片时,制作成本为n^2,问一个房间最低成本使得满足要求 #include <cstdio> #include <vector> #include <queue> #include <cstring> #include <cmath> #include <map> #include <set> #原创 2020-07-07 23:21:21 · 163 阅读 · 0 评论 -
暑期嗨7.6
A Three Friends 题意:三个人站在数轴上,每个人可以向左或者向右移动一次或者不移动,问怎样移动使得两两之间的距离和最短。 B Snow Walking Robot 题目很长,看到题目的第一眼就以为是难题,怕了。。。然后就没读题,去做的前面,当时没做出来,后来做的时候读题理解题意花了很长时间,弄清楚题意之后不难出思路 题意:以字符串的形式给出指令,U(向上),D(向下),L(向左),R(向右),使机器人按照指令运动,除了(0,0)作为起点和终点走两遍外,任何点只能走一遍,可以删除,重新组合指令,原创 2020-07-06 21:53:14 · 152 阅读 · 0 评论