题解系列
文章平均质量分 77
爱学习的Allan
数学和各项计算机技术的爱好者
展开
-
题解系列019 + 比赛系列008 | CSDN 第二十三届编程竞赛题解 + 建议
本文是对CSDN第23届竞赛的第 1, 2, 4 题的分析与解答.原创 2023-01-14 22:00:52 · 192 阅读 · 1 评论 -
题解系列018 + 比赛系列007 | CSDN 第二十二届编程竞赛题解 + 建议
本文是对CSDN第22届竞赛的所有问题的分析与解答.原创 2023-01-14 21:41:15 · 448 阅读 · 0 评论 -
题解系列017 + 比赛系列006 | CSDN 第二十一届编程竞赛题解 + 建议
本文是对CSDN第21届竞赛的所有问题的分析与解答,并提出了日后比赛的改进建议。原创 2023-01-07 21:42:30 · 187 阅读 · 0 评论 -
题解系列016 + 比赛系列005 | CSDN 第十六届编程竞赛题解 + 建议
本文是对CSDN第16届竞赛的第1,2,3题分析与解答。(附第4题参考题解)原创 2022-12-22 13:45:10 · 201 阅读 · 0 评论 -
题解系列015 + 比赛系列004 | CSDN 第十三届编程竞赛题解 + 建议
CSDN 第十三届编程竞赛的部分题解(第一、二、四题)原创 2022-12-08 06:46:40 · 200 阅读 · 2 评论 -
题解系列014 | 洛谷题解 CF1060D 【Social Circles】
本文是针对洛谷 CF1060D(Social Circles)的题解,并深入浅出地给出了笔者对问题分析的完整过程和推导。本题同时也是第 11 届 CSDN 竞赛的第 4 题。原创 2022-12-01 21:41:31 · 129 阅读 · 0 评论 -
题解系列013 + 比赛系列003 | CSDN 第十一届编程竞赛题解 + 建议
第十一届 CSDN 编程竞赛的题解 + 建议,将着重分析第四题的思维过程。原创 2022-12-01 21:35:45 · 292 阅读 · 0 评论 -
题解系列012 + 比赛系列002 | CSDN 第五届编程竞赛题解 + 建议
第五届 CSDN 编程竞赛的题解与建议原创 2022-09-14 12:14:30 · 276 阅读 · 0 评论 -
题解系列011 + 比赛系列001 | CSDN 第四届编程竞赛题解 + 建议
CSDN 第四届编程竞赛的心得与建议原创 2022-08-26 11:37:15 · 544 阅读 · 1 评论 -
题解系列010 | 洛谷题解 UVa12296 【Pieces and Disc】
原题传送门:Giga Tower一、题意概述【大意】一些线段把矩形分成了多个小多边形,随后给了一个圆,判断其与哪些块有交集(请注意:不一定相交),并求出这些块的面积。【样例分析】其中标阴影部分的就是与圆有交集的块。二、分析显然,本题中点的坐标、以及圆和多边形相交问题,都可以采用解析几何来解决。为此,我们建立一个直角坐标系并计算各图形的方程。唯一需要注意的便是最后判断相交的部分。由于是面与凸多边形相交,因此不能单单判断线段与圆的交点,有以下两种特例:内含(无交点)[外链图片转存失败,源原创 2021-07-25 21:09:19 · 140 阅读 · 0 评论 -
题解系列009 | 洛谷题解 CF488A 【Giga Tower】
原题传送门:Giga Tower一、题意题目(传送门)给一个绝对值不超过十位的整数,想计算至多加几后会在和数中出现数字 888.二、分析看到这道题,我们最容易想到的当然是暴力枚举,但是首先需要明确这样做所需的执行工作量再开始写。注意到最坏的情况也可以在至多 161616 次内完成(我们看个位就会知道最坏的答案是 161616,也即 −8-8−8 到 888),并且输入的数据位数不超过 101010 位,因此暴力尝试是可行的。三、代码#include <iostream>using原创 2021-07-18 20:59:37 · 98 阅读 · 0 评论 -
题解系列008 | 洛谷题解 CF127E 【Number With The Given Amount Of Divisors】
原题传送门:Young Photographer一、分析1. 一个正整数的正因子个数计算方法为了解决这道题目,我们首先需要做的当然就是推导出如何计算一个给定正整数的正因子数目。为了达成这一点,我们首先需要知道这一点,即:【算数基本定理】任何一个大于 111 的自然数 NNN ,如果 NNN 不为质数,那么 NNN 可以唯一分解成有限个质数的乘积 N=P1a1P2a2P3a3⋯PnanN=P_1^{a_1}P_2^{a_2}P_3^{a_3}\cdots P_n^{a_n}N=P1a1P2a2原创 2021-07-18 20:58:28 · 114 阅读 · 0 评论 -
题解系列007 | 洛谷题解 UVa10891 【Game of Sum】
原题传送门一、题意概要有一个长度为 nnn 的整数序列,两个游戏者 AAA 和 BBB 轮流取数,且均采用贪心算法,求最终双方取出的数的总和之差。二、算法及分析事实上,通过题目中的描述,我们很容易就能看出,在贪心算法这一制约条件下,这题的结果就变成了唯一的(注意:贪心算法 ≠\neq= 最小差距!),因此可以看作是一道“模拟”题。在做法上,注意到双方都用贪心算法,因此代码实现可以用动态规划实现:开一个动态规划二维数组 dp[105][105]dp[105][105]dp[105][105]原创 2021-07-18 20:55:23 · 214 阅读 · 0 评论 -
题解系列006 | 洛谷题解 CF14B 【Young Photographer】
原题传送门:Young Photographer一、本题的思路我们先把题目抽象化:给定一堆区间,假如它们交为空,则输出−1-1−1,否则输出一个定点走进这个区间所需的最小距离。这样一来,我们的步骤也变得明确了:1. 读出区间的交集for (int i = 1; i <= n; i++){ cin >> a >> b; start[i] = min(a, b); // 每一个的起点 end[i] = max(a, b); // 终点 if (start[i] &原创 2021-07-02 21:57:47 · 130 阅读 · 2 评论 -
题解系列005 | 洛谷题解 CF794B 【Cutting Carrot】
原题传送门:Cutting Carrot不难看到,本题考查了一些和相似三角形有关的数学知识,在这里,我们先做一些数学上的推导。一、金字塔模型(初中课内内容)1. 相似三角形预备定理如图,在△ABC\triangle ABC△ABC中,B1C1∥BCB_1C_1 \parallel BCB1C1∥BC,则△AB1C1∼△ABC\triangle AB_1C_1 \sim \triangle ABC△AB1C1∼△ABC2. 推论由相似三角形间的面积关系,我们假设BCB1C1=ABAB1原创 2021-06-30 18:35:38 · 195 阅读 · 0 评论 -
题解系列004 | 洛谷题解CF1106A 【Lunar New Year and Cross Counting】
原题传送门:Lunar New Year and Cross Counting欣赏完美妙的图案后,我们发现:这题数据很小,可以直接枚举(具体解释就放代码里了):#include <iostream>using namespace std;int main(){ int n, count = 0; char a[501][501]; cin >> n; for (int i = 1; i <= n; i++) for (int j = 1; j <原创 2021-06-21 16:31:17 · 68 阅读 · 0 评论 -
题解系列003 | 洛谷CF869B 【The Eternal Immortality】
原题传送门:The Eternal Immortality读完题目,我们可以发现这题实质上就是让我们求两个数的阶乘的商模10的余数。但题目中给的数据是0≤a≤b≤10180\leq a\leq b\leq 10^{18}0≤a≤b≤1018,显然直接使用阶乘会直接炸掉(用python也会TLE),因此这种方法直接否决。但是,经过一番观察,我们发现这里a!a!a!和b!(a≤b)b!(a\leq b)b!(a≤b)有很大一部分是“重叠”的,即:b!a!=b⋅(b−1)⋅…⋅1a⋅(a−1)⋅…⋅1=b⋅原创 2021-06-21 16:21:52 · 70 阅读 · 0 评论 -
题解系列002 | 洛谷CF66B 【Petya and Countryside】
原题传送门:Petya and Countryside由于数据相对比较小,而且是一维情况,因此完全可以暴力枚举。这题唯一需要注意的要点就是搜索的起始点、终止点,以及去重的过程,其它的便无需赘述。上代码:#include <iostream>using namespace std;int main(){ int n; int height[1001], maxsize = 1; cin >> n; for (int i = 1; i &l原创 2021-06-16 20:27:48 · 90 阅读 · 0 评论 -
题解系列001 | 洛谷CF466A 【Cheap Travel】
原题传送门:CF466A Cheap Travel题意:AnnAnnAnn需要搭nnn次地铁。她有两种票可供选择:第一种票aaa卢布一张,可以搭一次地铁;第二种票bbb卢布一张,可以搭mmm次地铁。问:AnnAnnAnn最少需要多少卢布才能搭nnn次地铁?输入:一行四个整数:nnn,mmm,aaa,bbb。输出:一行一个整数:AnnAnnAnn搭nnn次地铁最少需要的钱数(以卢布为单位)...原创 2020-04-21 16:55:44 · 407 阅读 · 0 评论