- 博客(17)
- 收藏
- 关注
原创 2021_GDUT_新生专题训练_图论
题解A - Cow Contest传送门题意有nnn头牛,知道mmm对强弱关系,用一对数(a,b)(a,b)(a,b)表示,意思是aaa能战胜bbb。强弱关系可以传递,如(a,b)(a,b)(a,b)且(b,c)(b,c)(b,c)则(a,c)(a,c)(a,c)。求能确定排名的牛数量。1≤n≤100,1≤m≤45001\leq n \leq 100,1 \leq m \leq 45001≤n≤100,1≤m≤4500思路对于一头牛,能确定其排名相当于,比其弱加比起强的牛数量等于n−1n-1n
2021-03-17 20:35:05
427
原创 2021_GDUT_新生专题训练_数据结构
题解C - Smallest Substring题意给定kkk和一个字符串sss,求sss的字典序最小且长度为kkk的子序列。∣s∣≤105|s|\leq 10^5∣s∣≤105思路解法1从前往后考虑选的kkk个字符是什么,要保证字典序最小那么前面的字符能选多小选多小,同时又要留足够的字符给后面的选;那么设n=∣s∣n=|s|n=∣s∣,则第一个字符选下标范围在[1,n−k+1][1,n-k+1][1,n−k+1]中最小的字符,若有多个,选最左的;以此类推第iii个字符选下标范围在[p+1,
2021-03-16 17:45:24
406
原创 2021_GDUT_新生专题训练_动态规划基础
题解I - Flipping Coins传送门题意给定nnn枚正面朝上的硬币,先可执行kkk次抛硬币操作:选定一枚硬币抛,有0.5的概率正面朝上,问kkk次操作正面朝上的硬币数量的最大期望。思路代码#include <bits/stdc++.h>#define fo(i, x, y) for (int i = (x); i <= (y); ++i)#define fd(i, x, y) for (int i = (x); i >= (y); --i)using
2021-03-15 19:54:10
354
原创 2021_GDUT_新生专题训练_数论
题解D - Beautiful Numbers题意给定两个0-9的整数aaa和bbb,定义good number:数位中仅含有aaa和bbb的正整数。定义excellent number:数位和是good number的正整数。先给定nnn,求nnn位excellent number的数量%(109+7)(10^9+7)(109+7)。1≤n≤1061\leq n\leq 10^61≤n≤106思路数位和仅跟aaa和bbb的数量有关,因此可以枚举aaa的个数iii,则bbb有n−in-in−i
2021-03-11 17:00:54
384
原创 2021_GDUT_新生专题训练_dfs/bfs+二分
题解挑了几道想讲的题目。D - Sticks传送门题意给定nnn根木棍,将这些木棍分组,使得每组的木棍长度和相等,问每组木棍长度和的最小值是多少。n≤50n\leq50n≤50思路这题是一道蓝书上很好搜索剪枝的例题,要运用到多种剪枝方法才能通过这道题。蓝书上把该题的剪枝分为两类:1....
2021-03-06 22:19:13
390
原创 GDUT 2020 ACM 月赛2 E
题意给定一个长度为nnn的010101串sss(下标从1开始),定义f(l,r)f(l,r)f(l,r)为串slsl+1…sr−1srs_ls_{l+1}\dots s_{r-1}s_rslsl+1…sr−1sr的子串中,满足1的个数为奇数的串的个数。求∑i=1n∑j=inf(i,j)\sum\limits_{i=1}^n\sum\limits_{j=i}^nf(i,j)i=1∑nj=i∑nf(i,j)。思路先考虑f(1,n)f(1,n)f(1,n)如何求。令ti=s1 xor&
2020-11-25 13:53:41
1247
原创 广东工业大学2020级年ACM第一次月赛
A-骗红包题意在[1,1000][1,1000][1,1000]中随机选择一个整数nnn,zf和zn轮流操作,zf先手,每轮可以执行以下操作之一:n=⌊n2⌋n = \lfloor\frac{n}{2}\rfloorn=⌊2n⌋;n=n−1n = n - 1n=n−1;先把nnn变为000的玩家赢,获得nnn个硬币。先进行100010001000次游戏,求zf获得硬币数的期望。思路先考虑nnn是定值时的情况。设g[i]g[i]g[i]表示选择的数字为nnn,先手是否必胜,g[i]=1g
2020-10-18 23:30:28
19160
9
原创 Codeforces Raif Round 1 (Div. 1 + Div. 2) C. ABBB
题意给定一个由’A’和’B’组成的字符串,每次可以执行一下两种操作之一:寻找一个字串"AB",删除;寻找一个字串"BB",删除;可以多次执行以上操作,问剩余字符串的最短长度。思路题目可以转化为维护一个栈,求最终栈的大小的最小值:‘A’:入栈’A’;‘B’:入栈’B’,或出栈栈顶;贪心策略是能出栈就出栈。应为对于操作2.如果能出栈不出栈,等价于入栈一个’A’,由因为最后的结果肯定是"AAA⋯\cdots⋯"或"BAAA⋯\cdots⋯",显然答案不会更优。代码#include &
2020-10-18 10:23:25
754
原创 Educational Codeforces Round 94 部分题解
B. RPG Protagonist题意给两个容量分别为ppp和fff的背包,和cntscnt_scnts个重量为sss,cntwcnt_wcntw个重量为www,价值都为111的物品,求背包能装的物品的最大价值。思路假设s≤ws\leq ws≤w(如果s>ws > ws>w可以交换两物品),枚举第一个背包中重量为sss的物品的个数,剩下的重量为sss的物品尽可能地放进第二个背包,最后两个背包剩余的空间尽可能地放重量为www的物品。代码#include <algori
2020-08-28 17:34:46
526
原创 Codeforces Round #663 (Div. 2) 部分题解
C. Cyclic Permutations题意给定一个大小为nnn的排列{ai}\{a_i\}{ai},按照以下方式建图:对于每个满足1≤i≤n1 \leq i \leq n1≤i≤n的iii,找到最大的jjj,使得其满足1≤j<i1 \leq j < i1≤j<i和aj>aia_j>a_iaj>ai,连一条无向边(i,j)(i,j)(i,j)。对于每个满足1≤i≤n1 \leq i \leq n1≤i≤n的iii,找到最小的jjj,使得其满足i<
2020-08-22 14:04:31
485
原创 atcoder tokiomarine2020 部分口胡题解
C - Lamps题意给定一个长度为n的序列ai{a_i}ai,定义该{ai}\{a_i\}{ai}序列对应的{bi}\{b_i\}{bi}序列:bi=∑j=1n[j−aj≤i≤j+aj]b_i=\sum\limits_{j=1}^n[j-a_j\leq i \leq j+a_j]bi=j=1∑n[j−aj≤i≤j+aj](中括号内的值为真则为1否则为0)现执行kkk次操作,每次操作求出{bi}\{b_i\}{bi}序列然后替换掉{ai}\{a_i\}{ai}序列,求kkk次操作后
2020-08-14 23:30:48
688
原创 CH0601 Genius ACM
题意给定一个整数MMM,对于任意一个整数集合SSS,定义“校验值”如下:从集合SSS中取出MMM对数(即2∗M2∗M2∗M个数,不能重复使用集合中的数,如果SSS中的整 数不够MMM对,则取到不能取为止),使得“每对数的差的平方”之和最大,这个最大值 就称为集合SSS的“校验值”。现在给定一个长度为NNN的数列AAA以及一个整数TTT。我们要把AAA分成若干段,使得 每一段的“校验值”都不超过TTT。求最少需要分成几段。思路显然集合SSS的“校验值”为SSS中最大值和最小值匹配,次大值和次小值匹配
2020-08-04 22:29:33
397
原创 CH0503 奇数码问题
题意给出两个n∗nn*nn∗n的矩阵,一个起始矩阵,一个目标矩阵,包含[1,n∗n−1][1,n*n-1][1,n∗n−1]的整数和一个空格,可以上下左右移动该空格。问是否可以通过若干操作,使得起始矩阵变为目标矩阵。思路将矩阵的数字从上到下从左到右依次排列为长度为n∗n−1n*n-1n∗n−1的序列(去掉空格),若初始矩阵和目标矩阵的逆序对数的奇偶性相同,则可以,否则不行。代码#include <algorithm>#include <cstdlib>#include
2020-08-04 21:57:39
355
原创 一些数学公式
f(x)={exi≤0xi>0f(x)=\begin{cases}e^x & i\leq 0 \\x &i>0\end{cases}f(x)={exxi≤0i>0$$f(x)=\begin{cases}e^x & i\leq 0 \\x &i>0\end{cases}$$∑i=1nai2\sum\limits_{i=1}^na_i^2i=1∑nai2$\sum\limits_{i=1}^na_i^2$...
2020-08-04 21:34:14
360
原创 CH0502 七夕祭
题意给定一个n∗mn*mn∗m的矩阵,其中第一行和最后一行相邻,第一列和最后一列相邻。已知t个标记点坐标,每个标记点可以上下左右移动。有两个条件:每行标记点数相同每列标记点数相同问最多能满足多少个条件,并求出最少移动步数。思路上下移动只会影响条件一,左右移动只会影响条件二,因此可以把行列分开处理,下面只考虑行,该题转化为环形“均分纸牌”。...
2020-08-04 21:23:38
394
原创 CH0304 IncDec Sequence
描述给定一个长度为 n(n≤10^5 ) 的数列 {a_1,a_2,…,a_n},每次可以选择一个区间 [l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。输入格式第一行一个正整数n。接下来n行,每行一个整数,第i+1行的整数表示ai。输出格式第一行输出最少操作次数。第二行输出最终能得到多少种结果。样例输入41122样例输出12数据范围与约定对于100%的数据
2020-08-03 21:30:27
278
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人