ICode9

精准搜索请尝试: 精确搜索
  • 「NOI2016」网格 题解2022-08-27 11:30:43

    「NOI2016」网格 题解 前言 感谢 zqm 学长提供调代码服务! 本文中,所有没有特殊说明的连通都是指四连通,相邻都是指上下左右相邻。 题目大意 有一个 $ n \times m $ 的网格,上面有 $ c $ 个障碍物,求至少还需要多少个障碍物才能使空地不连通。 输入 第一行有一个整数 $ T $,表示数据组数

  • CF1710D Recover theTree2022-08-27 02:00:40

    题意: 给定每个区间是不是连通块,还原这棵树。(\(n\leqslant 2000\)) 题解: 我肯定是做不出来,也不理解是怎么想的。不如直接讲做法,然后证明正确性,也是对 wc 题解的补充。 先贴个代码: #include<bits/stdc++.h> using namespace std; const int maxn=2e5+10; const int mod=1e9+7; #def

  • 20220823 模拟赛题解2022-08-26 21:02:08

    T1 文件压缩 Decription link Solution 可以根据 \(S'\) 和 \(p\) 求出第一个字符,然后把 \(S'\) sort 一遍后得到字符串 \(T\),那么我们就可以求出每一个字符的前驱和后继,所以从第一个字符开始跑,就可以根据这些关系求出原字符串,这样肯定是正确的。 时间复杂度:\(O(n^2)\)。 Code 代

  • P1399 [NOI2013] 快餐店 题解2022-08-26 08:30:41

    题目大意 求一棵基环树的重心。即一个点,使得树上到其距离最长的点到其的距离最短。注意,这个点不一定是一个节点,可以在树上的任意位置。输出树上到其距离最长的点到其的距离。 或者说求基环树最短的直径?(大雾 解题思路 显然,这颗基环树的直径只有两种情况:经过环和不经过环。 如果不经

  • P1415 题解2022-08-26 03:04:35

    前言 题目传送门! 更好的阅读体验? 这题是一道挺好的 \(\texttt{dp}\) 题啊,但大家的题解都写得不够详细。 所以,我来补一篇 \(\LaTeX\) 题解,希望能帮助大家。 思路 首先是读入,为了方便,我让字符串下标从 \(1\) 开始。 string a; int n; //字符串长度。 void Input() { cin >> a; //

  • P8410 题解2022-08-26 03:03:25

    前言 题目传送门! 更好的阅读体验? 本次比赛第二题,好像没有人抢题解,那我来一发。 思路还是挺巧妙的。 \(\texttt{10 pts}\) 思路 深搜求解即可。 最坏情况,时间复杂度 \(O(n!)\)。 #include <iostream> #include <cstdio> using namespace std; typedef unsigned int UI; typedef un

  • CF722B 题解2022-08-26 03:03:15

    前言 题目传送门! 更好的阅读体验? 这是一道简单的字符串练手题。 思路 每次暴力计数,是否为元音。最后判断是否满足题意即可。 重点是字符串读入问题。 由于字符串读入部分含有空格,因此使用 getline(cin, str) 读入,其中 \(\texttt{str}\) 是字符串。 我们把 getline(cin, s) 称为整

  • AT1330 题解2022-08-26 03:03:07

    前言 题目传送门! 更好的阅读体验? 这一题内部比赛时考到了,个人觉得是一道二分答案好题。 本题时间很宽松,导致 \(O(n \log^2 n)\) 的代码可以跑过去。 但是,我内部比赛的时限是 \(1\) 秒,这就导致需要 \(O(n \log n)\) 的代码了。 思路一 显然是一道二分答案题目。 二分答案老套路,设

  • P2130 题解2022-08-26 03:02:29

    前言 题目传送门! 更好的阅读体验? 本题是练习 bfs 的好题。 思路 结合代码进行思路讲解。 首先是读入部分,我们可以用 bool 存下地图,节省空间开销。 需要注意,数据比较烂,起始点可能有障碍。 我们可以霸气地把起始点的障碍消掉。 const int N = 1005; bool a[N][N]; int n, m, fx, fy

  • P8443 题解2022-08-26 03:02:04

    前言 题目传送门! 更好的阅读体验? 普及组月赛第一题。别的题解语言有点高深,我补篇题解。 思路 显然,\(\lfloor \dfrac{l}{x}\rfloor, \lfloor \dfrac{l+1}{x}\rfloor, \cdots, \lfloor \dfrac{r}{x}\rfloor\) 是连续的整数。 而且,显然有 \(\operatorname{gcd}(c, c+1) = 1\)。 换句

  • P8431 题解2022-08-26 03:01:47

    前言 题目传送门! 更好的阅读体验? 这题题解都写得特别复杂,蒟蒻看不懂。因此,我补一篇简单的贪心题解。 思路 题目等同于求最小的 \(p\) 使得 \(f(p)>n\),则 \((p-1)\) 就是答案。 若 \(f(p) > n\),首先要保证 \(p\) 的位数大于等于 \(n\) 的位数。根据贪心思想,我们让末尾不存在 \(0\)

  • P7535 题解2022-08-26 03:01:38

    前言 题目传送门! 更好的阅读体验? 比赛时考到了这一题,于是写一篇题解纪念一下。 思路 设 \(dp_{i, j}\) 表示前 \(i\) 张钞票分给两人,两人差尽可能接近 \(j\) 的情况下,获得的总钱数。此时不考虑赌场操作。 显然可以分三种情况讨论: 不用第 \(i\) 张钞票:即 \(dp_{i-1, j}\)。 把第

  • CF1066C 题解2022-08-26 03:01:08

    前言 题目传送门! 更好的阅读体验? 本题是简单的双端队列练手题。 思路 题意大致如下: 执行双端队列 push_front() 操作。 执行双端队列 push_back() 操作。 查询 \(\min\{mp_x - L, R - mp_x\}\),其中 \(mp_x\) 表示 \(x\) 元素的对应下标。 由于 STL 配备的双端队列性能较差,使用

  • SP733 题解2022-08-26 03:00:49

    前言 题目传送门! 更好的阅读体验? 校内比赛题。赶紧补篇题解。 思路 经典的二分加搜索。 由于 \(h_{i, j}\) 范围很小,考虑二分答案。 二分答案的范围应该是 \([0, 110]\)。 对于 \(\texttt{check()}\) 函数,可以暴力枚举所有差为 \(\texttt{mid}\) 的数对,并使用 bfs 强行搜索检验。

  • P4944 题解2022-08-26 02:01:54

    前言 题目传送门! 或许更好的阅读体验? 这题算是一道中模拟? 码量不会很高,大概只有 \(100\) 至 \(150\) 行。 思路 输入地图。 注意,还不能读入蛇的行动指令,因为我们不知道有几条蛇。 使用广搜得出每条蛇的信息。 这个就是搜连通块,惟一不同的是,要使用队列存下这条蛇。 写一个死

  • gdfzoj 比赛题解2022-08-26 02:01:43

    前言 本次比赛:初一训练5.21 / 编号531 题目难度中等偏上,有几题比较简单,有两三题较难。 T1 题目:gdfzoj1441 思路: 算是一道暴力题。 由于 \(h_{i, j}\) 范围很小,考虑二分答案。 二分答案的范围应该是 \([0, 110]\)。 对于 chk() 函数,可以暴力枚举所有差为 \(\texttt{mid}\) 的数对,

  • P8344 题解2022-08-26 02:01:26

    ### 前言 题目传送门 \(\color{red}{see}\space \color{green}{in}\space \color{blue}{my}\space \color{purple}{blog}\) 这题作为本次比赛的 T1,难度感觉还行,算是一道结论题。 已经尽量讲得简单一些,没有用复杂的求和符号。 思路 很容易想到贪心策略,如下。 第 \(1\) 次放 \((z-1)

  • AT2580 题解2022-08-26 02:00:29

    前言 题目传送门! 更好的阅读体验? 这题是常规的二分答案。 前置知识:二分答案 教大家一个小技巧:如何判断一题是否可以使用二分答案,以及如何编写程序? 设计 \(f(x)\) 函数,确认其是否满足单调性。 如果不满足单调性,可能是 \(f(x)\) 函数设计错了,但更有可能是本题无法使用二分答案。

  • P8400 题解2022-08-26 02:00:08

    前言 题目传送门! 或许更好的阅读体验? 这题非常简单,考察读入读出,以及较简单的代数运算。 思路 我们可以利用代数解这道题目。 设一共有 \(n\) 个大盒子,\(m\) 个小盒子。 得出:大盒子一共可以装 \(3\cdot n\) 个蛋糕,小盒子一共可以装 \(8 \cdot m\) 个蛋糕。 所以:一共有 \((3 \cdot

  • P3755 [CQOI2017]老C的任务 题解2022-08-25 12:05:25

    CDQ分治 对于这道题,可以参考 P4390 [BOI2007]Mokia 摩基亚 的做法,可以通过 CDQ 分治离线操作高效处理出答案(我常数大,不能体现出 CDQ 分治的优秀)。 可以发现,操作 11 和操作 22 分好了界限,于是我们只需要统计答案,不用再使用树状数组维护。 对于 CDQ 分治,我们可以先看一

  • CF1121B Mike and Children 题解2022-08-25 12:04:50

    题意翻译十分简洁,我说几点需要注意的。 最多能选几个数? 这是错的,要给出最多选出几对数。 现在我们就珂以开始了。 我的做法理论时间复杂度是 O(n^3)O(n3) 的暴力,但是因为常数较小于是珂以通过。 首先我们观察发现 a_iai​ 的范围很小,只有 10^5105 于是我们把给出的数标记

  • CF39J Spelling Check 题解2022-08-25 12:02:07

    很显然,这道题我们只需要快速判断字符串是否相等。 马上想到字符串哈希,哈希算法可以 O(1)O(1) 匹配字符串。 对于字符串哈希,我们先预处理出 basebase 的 kk 次方,不用担心溢出,因为这样更好避免重复。 /* 对于base来说,一般取100上下的质数,常见的有97,131等。 */ void csh_hash()

  • AT3978 题解2022-08-25 00:32:11

    题目传送门 小学生又双叒叕来写题解啦! 这题的题面有误,讨论区有人提出来了,望管理员修改一下。 我就不发正确的题目描述了,自己去讨论区看看。 不说闲话,我看到题目的第一反应是:直接模拟不就好了! 于是写出了如下代码: #include <iostream> #include <cstdio> #include <cmath> #define

  • AT916 题解2022-08-25 00:31:53

    题目传送门 小学生又双叒叕来写题解啦! 大家使用的都是 while 循环,那我来一个 for 循环版本! 我的思路是贪心。 怎么个贪心法呢? 由于最多只能执行一百次,那我们就得多用三。 准确的说,就是按三二一的顺序,一个不行就轮到下一个。 为什么可以这样也很简单。 比方说你减了三,如果你不减三,

  • AT4740 题解2022-08-25 00:31:14

    题目传送门 小学生又双叒叕来写题解啦! 这是一个关于概率的模拟问题。 游戏分两步,我们先看第一步。 投色子,显然,投中一个 \([1, n]\) 的数,概率是 \(\dfrac{1}{n}\) 没错吧。 那么,我们重点思考第二步。 想获胜的唯一办法是:一直抛到正面,直到分数大于等于 \(k\) 了。 这就好办了,循环枚

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有