2019 GDUT寒假集训解题报告(专题及训练赛)
_记念_
这个作者很懒,什么都没留下…
展开
-
Santa Claus and Keyboard Check
Santa Claus and Keyboard Check题面:题目描述给你两个长度相同但不为0的字符串a与b(字符串里面只包括26个小写字母,不考虑’\0’),然后从左向右对应扫描a,b中的每一个字符,也就是说先比较a和b的第一个字符然后比较a和b的第二个字符,从而以此类推。如果出现一个字母对应不止1个字母的情况就输出-1并结束程序(解释:见上图第三个样例,第一个字符串的第三个字符’...原创 2019-02-10 09:55:24 · 305 阅读 · 0 评论 -
Leading and Trailing
Leading and Trailing题面题意输出nkn^{k}nk的前3位数与后3位数,如果位数不够补0。分析nkn^{k}nk的后三位,相对而言,是容易求出的。我们可以直接用快速幂取模的方法,对nkn^{k}nkmod1000,即可以得到我们所要求的答案。但是这题的难点主要是怎么求前三位,接下来我来重点讲一下怎么推导求前三位的方法。推导nkn^{k}nk=10lgnk10^{...原创 2019-03-08 11:28:13 · 619 阅读 · 0 评论 -
So Easy!
So Easy!题面题意给一个n然后利用公式求出S(n)的值分析这是一道矩阵快速幂的模板题目我们设(a+√b)n=x+y√b其中(a−1)2&lt;b&lt;a2(a+√b)^{n}=x+y√b 其中(a-1) ^{2}&lt; b &lt; a^{ 2}(a+√b)n=x+y√b其中(a−1)2<b<a2,那么ceil(√b)=a;我们...原创 2019-03-10 18:06:16 · 3011 阅读 · 0 评论 -
New Year Book Reading
New Year Book Reading题面题意一个人要读n本书每本书有个重量wi,要读m天,每天读1本,他每天把要看的书抽出来(把上面的搬开,拿出要读的书再把上面的书放回去),看完以后放到一摞书的最上面,问根据他的阅读顺序怎样初始化书的排列顺序能使他搬书的重量最小,求出这个最小重量分析举一个例子:如果看书的顺序是1 1 1 1 1 2,那么我们放书的顺序为1 2是最省力的。又如看书...原创 2019-03-01 18:43:08 · 162 阅读 · 0 评论 -
二分+交互
二分交互题意就是说,你每一次输出一个数,电脑内部就会根据预先写的答案然后判断大小。如果你猜的数较大,那么电脑就输入&lt;,相反则输入&gt;。如果相同则输出=。对于这道交互题目,注意先写输出然后再写输入。首先我们看到任何电脑给出的答案范围都是1~1e9且为整数,所以我们就想是不是可以直接枚举所有整数然后判断呢?但由于这题目数据很大,这样暴力枚举就会出现超时现象。(备注:一般1s的题目,处理...原创 2019-01-28 09:52:22 · 162 阅读 · 0 评论 -
三分法+数学最大值思维
三分题简单的来说:就是取n个函数相比较得到的最大值的那部分区段,我们把它记作s,然后求s在1-1000的最小值。这道题突然给一个当初刚刚学了三分的我一看,简直是一脸懵逼状态。其实现在我了解三分的本质的后才发现这道题目其实就是模板题。=o=那我们先谈谈三分的本质是什么:就是给一个具有凹凸性的函数,然后求这个函数的极值。我们看看这一个题目,与三分模板只差了一个桥梁(怎么构造这个凹凸性)其实大...原创 2019-01-27 22:51:21 · 673 阅读 · 0 评论 -
Stars Drawing (Easy Edition)
Stars Drawing题面题意问是否可以利用长与宽相同的十字架把原图中※的覆盖,这里所说的宽与长与数学中的不同,所以你可以看题目开头与样例就知道是什么意思。分析这道题目数据范围只有3-100,所以很多方法都可以AC这道题。接下来我就讲一个暴力搜索的算法。首先我们可以自己模拟这个过程,因为这道题目没有问最少需要多少个十字架,所以我们可以贪心一下,每次遇到一个※点的时候,我们就...原创 2019-02-24 23:36:45 · 276 阅读 · 0 评论 -
Lawnmower
Lawnmower题面题意按照题干中的四种方式走,只要向下走一行,方向就会转变,问最少走的步数能够除掉所有的草。Note开始的位置在(1,1)分析这道题就是贪心+模拟,但是这道题细枝末节非常多,我再这个坑上wa了2-3次。接下来我就先讲坑再讲思路坑1.走到某一行的时候发现已经没有杂草了,但是程序还是接着跑直到跑完所有行。solution:我们开始的时候重置n,就是我们...原创 2019-02-25 19:09:59 · 331 阅读 · 0 评论 -
美素数
题面考点线性筛法+dp思维+处理区间的技巧线性筛法的复杂度为o(n)线筛线筛的思想就是找到一个素数之后把它储存在素数数组里面,然后利用素数*当前的i得到很多合数。const int MAX=1e9;int isnotprime[MAX]={1,1},sushu[MAX],num;void prime(){ int i,j; for(i=2;i<=MAX;i++){ ...原创 2019-02-24 14:07:36 · 365 阅读 · 0 评论 -
A/B
A/B题面题意对于初学者而言,(a/b) mod p求解的时候不知道有逆元这个概念,而且也可能没学过快速幂。所以这个题目对这些人似乎变得很难。知识点(a/b)mod p 其中1/b可以用inv(b)来替换,那是因为inv(b)是b的逆元求逆元的方法详解a^(p-2) = inv(a) (mod p)(注意一下这个是三个横线不是两个横线的“=”)简单记忆方法:上面式子式费马小定...原创 2019-02-23 22:01:36 · 289 阅读 · 0 评论 -
畅通工程
畅通工程题面题意找出最少要加几条路才可以让所有城市之间连通分析这是一道有关并查集的题目,就是确定连通分量的个数以下是并查集的原理以上图为例,h是b的父亲节点,c是b的根节点。如果两个节点之间有联系,那么其中一个点就是另一个点的父亲节点。以此类推,最高层即没有父亲节点的点成为根节点。如何判断b与g之间是有联系(b与g的根节点如果有联系就代表这两个点有联系)b->h->...原创 2019-02-23 16:40:10 · 157 阅读 · 0 评论 -
Phone Numbers
Phone Numbers题面题目描述给你n个条目,每一个条目包含3个信息(名字+电话数目+电话)例如:ivan 3 123 123 456ivan(名字) 3(电话数目) 123(电话1) 123(电话2) 456(电话3)然后对于给定的n个条目需要做3个处理处理1:每个条目不能存在一个号码的后缀是另一个号码。例如:ivan 4 123 23 34 323和3是123的后缀...原创 2019-02-12 16:33:13 · 471 阅读 · 0 评论 -
Nested Segments
Nested Segments题面题目描述给你n个闭区间,让你判断是否有两个区间之间存在包含关系(解释:如果有两个区间A[a,b] B[c,d],当a&lt;=c且b&gt;=d时,我们认定A与B存在包含关系)。如果对题意还是不理解的可以看样例与note。题目分析这道题一出来,最朴素的解法就是暴力枚举所有可能的情况即:for(i=1;i&lt;n;i++){for(j=i+1;j...原创 2019-02-11 10:28:15 · 563 阅读 · 0 评论 -
Feel Good
Feel Good 题面题意从一堆数中找到连续的一串数,假设有k个数,那么这一串数所代表的值就是这k个数的和乘上这个数中的最小值,所得的值记作maxn,问maxn最大是多少。分析这题可以首先记录一下前i个数的和(i属于1-n),然后记录这n个数中每一个数作为最小值可以得到的最大值。然后搜索这n个数中的最大值并输出要求值。注意这道题如果用cin cout会出现tle而使用scanf和p...原创 2019-03-12 22:58:09 · 444 阅读 · 0 评论