每日赛后补题
文章平均质量分 50
CCSU_Cola
ACMer
展开
-
3780. 构造数组 (单调栈)
题目链接题意:给定一个长度为n的整数数组m1,m2,…,mn。现在,请你构造一个数组a1,a2,…,an。对于构造的数组,有以下三点要求:∀i∈[1,n],1≤ai≤mi 成立。 ∀i∈[1,n], 不存在数对j,k,i 同时满足j<i<k 且aj>ai<ak。 数组中所有元素之和尽可能大。请输出任意合理方案。思路:由题知道,形成的数组一定是只有一个峰的,也就是说只需要选定其中一个点为最大值,两边非递增就可以了,于是可以先用单调栈分别维...原创 2021-07-25 11:50:08 · 242 阅读 · 0 评论 -
永不言弃 (topsort+优先队列)
题目链接题意:小沙最喜欢打怪升级了,今天他玩了一个游戏,需要从初始关卡开始,击败n个关卡才能通关整个游戏,对于每个关卡都会有两种通过方式。小沙初始的属性值为s,当游戏角色的属性大于关卡最高上限时,可以强行通过该关卡,又或者拥有通过该关卡的必过道具(并不是消耗品)。每个关卡通过后可能会开启一个或多个后置关卡,但每个关卡开启也需要若干个前置关卡,只有前置关卡全部通过后,才能开启该关卡。特别注意,除了一号关卡,如果一个关卡没有任何前置关卡,那么这个关卡则永远无法开启。每个关卡仅能游玩一次,且每个关原创 2021-07-18 13:19:06 · 127 阅读 · 1 评论 -
C - Tricolor Pyramid(卢卡斯定理)
题目链接题目:堆成yi'ge原创 2021-05-30 13:42:52 · 169 阅读 · 0 评论 -
状态机专题
AcWing 1049 大盗阿福原创 2021-05-28 10:27:52 · 132 阅读 · 0 评论 -
牛客练习赛83 ABCE题
A. 追求女神题目链接思路:因为人需要在固定的时间到达某个点,故当前位置到下一个位置最短所需时间加上当前时间若大于给出时间,则不可能达到目的,且因为人不可以站在原位置不动,如果给出时间大于最短所需时间,则人需要来回走动来消耗时间,每次走出当前点再回到当前的时间差一定为偶数,故若给定时间-当前时间得到的时间差的奇偶性和最短所需时间的奇偶性相同则可以达到目的,否则不能够达到。#include <bits/stdc++.h>using namespace std;#define ll lon原创 2021-05-21 23:27:54 · 230 阅读 · 0 评论 -
C. Sequence Pair Weight(组合计数)
题目链接题意:给一个长度为n的序列,问所有的字串的贡献总和为多少?若ai==ajai==ajai==aj,且i!=ji!=ji!=j,该子串的贡献加1。例:41 2 1 1的贡献总和为6。[1,2] having 0 valid unordered pairs;[2,1] having 0 valid unordered pairs;[1,1] having 1 valid unordered pair;[1,2,1] having 1 valid unordered pairs;[2,原创 2021-05-21 10:20:05 · 354 阅读 · 0 评论 -
B - DNA Sequence(思维)
题目链接题意:给你一个串,A和T匹配,G和C匹配,问有多少个子串可以通过重排列和原来的子串匹配。思路:只需子串里的A的数量等于T的数量,C的数量等于G的数量,那么串通过重新排列就可以和原来的串匹配。如何判断某个区间的A和T数量是否相等,可以将A的值定为1,T的值定为-1。当某个前缀和为0的时候说明数量相等,且当某个前缀减去另一个前缀的值为0的时候,该段区间内的数量也相等。#include<bits/stdc++.h>using namespace std;#define ll long原创 2021-05-20 08:04:37 · 108 阅读 · 0 评论 -
记忆化搜索专题
砝码称重题意:你有一架天平和 N 个砝码,这 N 个砝码重量依次W1,W2,⋅⋅⋅,WnW1,W2,⋅⋅⋅,WnW1,W2,⋅⋅⋅,Wn。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。对于 50% 的评测用例,1≤N≤15。对于所有评测用例,1≤N≤100,N 个砝码总重不超过10510^5105。思路:可以将题目转化为某个重量能否被称量,然后进行记忆化搜索。#include <iostream>#include <cstring>using n原创 2021-05-19 18:34:38 · 98 阅读 · 0 评论 -
矩阵乘法的意义与矩阵快速乘
P3758 [TJOI2017]可乐题面:加里敦星球的人们特别喜欢喝可乐。因而,他们的敌对星球研发出了一个可乐机器人,并且放在了加里敦星球的 11 号城市上。这个可乐机器人有三种行为: 停在原地,去下一个相邻的城市,自爆。它每一秒都会随机触发一种行为。现在给加里敦星球城市图,在第 0 秒时可乐机器人在 1 号城市,问经过了 t 秒,可乐机器人的行为方案数是多少?思路:用矩阵表示两点之间有连线A[u][v]=1A[u][v]=1A[u][v]=1;AkA^kAk的第iii行第jjj列的数字含义是从iii原创 2021-05-18 10:09:48 · 254 阅读 · 2 评论 -
B - ARC Wrecker C - ARC Wrecker 2
B - ARC Wrecker题意:选取一个x,使得数组中所有大于x的数都减1,x能够多次选,问能够产生多少个不同的数组。思路:最大的数减到与第二大数相同的大小的过程中都是新产生的数组,当与第二大相同时,第二大减到第三大的过程中产生的数组也全是新产生的数组,…,这样可以将数组从小到大排序,答案为(a[n]-a[n-1]+1)(a[n-1]-a[n-2]+1)…(a[1]-0+1)#include<bits/stdc++.h>using namespace std;#define ll原创 2021-05-17 21:48:05 · 188 阅读 · 0 评论