<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[DonoToT的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/DonoToT</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; DonoToT]]></copyright><item><title><![CDATA[Codeforces Round #745 (div2) 赛后总结]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/120580215</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/120580215</guid><author>DonoToT</author><pubDate>Fri, 01 Oct 2021 20:04:21 +0800</pubDate><description><![CDATA[这是一个下午6点到8点的CF比赛, 稀有品种, 就导致大家都在实验室打的, 还挺有氛围(可怜了zxgg在那边讲课, 我们疯狂吵233) 第一题一直在处理mod, 第二题考虑各种情况不难, 第三题是一个非常非常经典的O(n^3)的DP问题, 然而我就是不会这种题目的变形, 算是之后需要重点学习的一个部分

A题处理mod时候出了很大的问题, 导致10分钟知道答案, 40分钟才做出来, 主要问题是本题给的数据范围在LL以上, 所以每次模了之后计算出问题, 后面可以参考队友的递推的方式, 之后直接取位置上的数就可]]></description><category></category></item><item><title><![CDATA[Codeforces Round #744(div3) 赛后总结]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/120579531</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/120579531</guid><author>DonoToT</author><pubDate>Fri, 01 Oct 2021 18:09:29 +0800</pubDate><description><![CDATA[不按照每道题目的写了, 就记一些重要的地方

A, B, E1是三道简单的模拟/构造题
D题是把所有数塞进一个堆中, 每次取最大和次大, 把二者-1再放回去, 由于数的总和是小于2e5的, 所以这种方法可行
C题E2两道题被Hack了, C题被hack的原因是题意理解错误, 本题要求的每个点如果选取左上和右上的部分, 必须选的相同多(题干中的exactly) 也就是严格相等, 结果写的时候以为两边可以不等, 导致出问题
E2被hack是因为使用了unordered_map来处理离散化, 但是这个数据结构是基]]></description><category></category></item><item><title><![CDATA[2021牛客暑期多校夏令营第四场]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/119252692</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/119252692</guid><author>DonoToT</author><pubDate>Fri, 30 Jul 2021 19:59:31 +0800</pubDate><description><![CDATA[前言
在火车上, 磊哥solo了4题(jwr说她睡着了, 睡醒就没有能做的题了…)
稍微补几道题, 意思一下 (不是)

]]></description><category></category></item><item><title><![CDATA[2021牛客暑期多校夏令营第三场]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/119244286</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/119244286</guid><author>DonoToT</author><pubDate>Fri, 30 Jul 2021 17:23:23 +0800</pubDate><description><![CDATA[前言
寻思好不容易实训结束了, 好好打一盘, 然而遗憾爆0… 也是因为后面懒得写了
后面看题的话, 几个签到题比较偏近公式题, 且需要数学知识比较丰富, 这就涉及到我的知识盲区了
在宿舍打的最后一场, 下场比赛就在回家的火车上了, 都交给yl了
B. 	Black and white
题意
给出一堆参数, 用这些参数构造了一个n * m的矩阵, 求如何把矩阵中所有数填黑, 特殊要求是如果一块方格周围有三个相邻的黑色方格, 那这个方格涂黑的代价为0
分析
比赛的时候想的bfs, 但是后续想了一下, 显然是错的]]></description><category></category></item><item><title><![CDATA[2021牛客暑期多校夏令营第二场]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/119033054</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/119033054</guid><author>DonoToT</author><pubDate>Fri, 23 Jul 2021 14:51:32 +0800</pubDate><description><![CDATA[前言
实训中, 中午11点半放学, 下午2点上课, 12点的比赛…
11点提前溜了, 随便吃了点就赶回来了, 据说实验室停空调了, 正好在教室打比赛.
比赛开始我和yl一人A了一道签到, 然后我去看K, yl和jwr去看F, 我推了一个小时发现思路错了, 紧急呼叫yl回来看K. 然后他半个小时A了… 我去找其他题, 发现I是个搜索题, 心想上场比赛的搜索我wa了, 这场一定要一雪前耻! 然后又wa了… F题也是, 公式推出来了, 但最后相交的体积感觉求得有一些问题, 样例能过, 数据过不去. yl来改我的I]]></description><category></category></item><item><title><![CDATA[2021牛客暑期多校夏令营第一场]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/118876594</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/118876594</guid><author>DonoToT</author><pubDate>Fri, 23 Jul 2021 11:02:50 +0800</pubDate><description><![CDATA[前言
周六的实验室好热…
中途有事, 只做了两个小时就把队友鸽那了, yl签了个D, 我签了个B, 然后就疯狂想F怎么数位DP, 结果走的时候问了下sy发现是打表, 我傻了… 然后发现A是个裸的博弈论, 打算好好学一下sg函数.
B翻译错了wa了一发, 最后两题溜了. 一鸣队好强, A了5题… 女人只会影响我拔剑的速度
之后训练步入正轨, 打一下每场cf和牛客杭电多校, 每场都记录一下题意和知识点, 方便之后学习参考吧

A. Alice and Bob
题意
(这个题目就把博弈论三个字写在脸上了, 奈何不]]></description><category></category></item><item><title><![CDATA[2021-05-09 ~ 2021-05-14 记录]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/116561086</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/116561086</guid><author>DonoToT</author><pubDate>Sun, 09 May 2021 09:54:26 +0800</pubDate><description><![CDATA[P2678 [NOIP2015 提高组] 跳石头
二分搜索的一种应用方式, 对所有可能的答案取值进行二分
本题需要注意查找每次mid可行性时, 对需要移除的石头进行判断的步骤

]]></description><category></category></item><item><title><![CDATA[TGU算法课程_递归与分治_Test1题解]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/115580569</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/115580569</guid><author>DonoToT</author><pubDate>Sat, 10 Apr 2021 17:43:53 +0800</pubDate><description><![CDATA[Problem A. 金字塔
题目描述
酋长同学来自遥远的埃及，这一天法老王交给了酋长同学一个建造金字塔的任务：法老王给了酋长同学n个砖块，并给了他这n个砖块的样子（用单个字符来表示），现在要他用这n个砖块造出可以建造的最大金字塔，并汇报剩余砖块的数量。
例如：当砖块数量为10个，砖块样子为’*’，则可以建造如下最大金字塔，且剩余1个砖块

输入描述
输入数据只有一行，包括一个整数 n 和一个字符 c，n表示酋长同学当前拥有的砖块数量，c表示这个砖块的样子。（n  &lt;= 1000）
输出描述
首先用所]]></description><category></category></item><item><title><![CDATA[HDU 2199 Can you solve this equation? 二分查找]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/109629538</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/109629538</guid><author>DonoToT</author><pubDate>Wed, 11 Nov 2020 19:50:07 +0800</pubDate><description><![CDATA[HDU 2199 Can you solve this equation?
Problem Description
Now,given the equation 8x^4 + 7x^3 + 2x^2 + 3x + 6 == Y,can you find its solution between 0 and 100;
Now please try your lucky.
Input
The first line of the input contains an integer T(1&lt;=T&lt;=10]]></description><category></category></item><item><title><![CDATA[前缀和与差分(个人笔记)]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/109499648</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/109499648</guid><author>DonoToT</author><pubDate>Wed, 04 Nov 2020 21:56:34 +0800</pubDate><description><![CDATA[前言
一个算法思想, 或者说一个算法工具真的是太重要了! 虽说自己的算法学习进度慢了一些, 但是个人觉得系统地学习一遍算法是非常重要的. 之前刚开学接触了"前缀和"的知识点, 就发现这个东西太牛了, 把O(n4)变成O(n3), 把O(n3)变成O(n2), 于是每次遇到矩阵相关的题都会考虑这个东西. 前几天的小米ICPC网络赛第一场的J题, 也是考虑用前缀和做, 但是显然这道题不是我的知识范围之内. 和队友考虑了两个小时也没做出最后的结果, 最终还是放弃了. 最近在AcWing上逐步学习算法, 学习到了前]]></description><category></category></item><item><title><![CDATA[TGUACM Round #5(div 2)]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/109016996</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/109016996</guid><author>DonoToT</author><pubDate>Sun, 11 Oct 2020 21:20:49 +0800</pubDate><description><![CDATA[A - City Game
大致题意
给出一个矩阵, 矩阵中F的位置代表可以使用, R代表已经被占用, 现在要从矩阵中选出最大的子矩阵, 要求子矩阵中的所有元素均为F

分析
参考上周的F题, 本题使用同样的方法, 用n^3过了, 由于n是1000, 使用了一秒多. 据说本题使用dp更为容易, 但能力所限, 暴力即可. 另外本题同样使用了前缀和数组(毕竟和上周的方法类似嘛), 逐渐发现前缀和数组的强大之处

代码实现
#include&lt;iostream&gt;
#include&lt;limits.h]]></description><category></category></item><item><title><![CDATA[TGUACM Round #4(div 2)]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/108987835</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/108987835</guid><author>DonoToT</author><pubDate>Fri, 09 Oct 2020 23:30:00 +0800</pubDate><description><![CDATA[A.The Pilots Brothers’ refrigerator
大致题意
给出一个由"-“和”+"组成的 4x4方阵, "-"表示开, “+“表示关, 每次可以选择一个位置改变它的状态, 但是该位置同一行同一列的所有元素都换改变符号, 求经过怎样的步骤能使所有位置都打开(全变成”-”)

分析
数据不大, 暴力搜索, 将求得的路径存在栈中, 在dfs中对栈中元素进行更新即可

代码实现
#include&lt;cstdio&gt;
#include&lt;cstdlib&gt;
int mapp[5]]></description><category></category></item><item><title><![CDATA[洛谷 P1601 A+B Problem（高精）大数加法_2]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/108672942</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/108672942</guid><author>DonoToT</author><pubDate>Fri, 18 Sep 2020 22:26:23 +0800</pubDate><description><![CDATA[P1601 A+B Problem（高精）


分析
简单易懂, 就是在靠高精度大数加法, 很久前(假期的时候)学习过这个知识点, 但很久没用有点忘记了(主要是忘记步骤), 而且也新学习了C++的string类, 故用新的方法重新做一次这道题
先放代码(注: 使用string实现高精度运算的思路来自洛谷题解https://www.luogu.com.cn/blog/user28954/solution-p1601,)

代码实现
#include&lt;string&gt;
#include&lt;iost]]></description><category></category></item><item><title><![CDATA[C++用string进行字符串处理(个人笔记)]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/108560304</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/108560304</guid><author>DonoToT</author><pubDate>Sun, 13 Sep 2020 12:11:45 +0800</pubDate><description><![CDATA[前言
作为一直使用C的新手, 对字符串的处理方式一直局限于字符数组和#include&lt;string.h&gt;, 虽然知道C++中的string用来处理字符串更为方便, 但一直没机会系统学习. 最近仍是希望通过 洛谷题单 用string的方式来编写程序, 加强熟练性和对"类"的概念的理解.

基本知识若干

若要使用C++中的string类, 要包含#include&lt;string&gt;头文件, 要注意的是, 该同文件的作用是可以使用string类, 而#include&lt;cstring&g]]></description><category></category></item><item><title><![CDATA[二分查找(个人笔记)]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/108435403</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/108435403</guid><author>DonoToT</author><pubDate>Sun, 06 Sep 2020 20:01:13 +0800</pubDate><description><![CDATA[前言
在学习MOOC数据结构(陈越)的有关"树"的部分时, 作为前导知识, 同时也是一直不是很懂实现方法的二分查找, 今天借助洛谷题单, 简单加深了一下对二分查找的理解以及C++相关库的使用方法, 特此记录
引例1
洛谷P2249【深基13.例1】查找

分析
给出一组排好序的数列, 询问其中元素位置. 数据范围较大, 普通查找方式会TLE. 由于是排好序的数列, 所以使用二分查找即可.
另外本题与最最最最最基础二分查找也有些许不同, 因为题目中所需要的是所查询的序列中最前面的元素的地址(用lower_bo]]></description><category></category></item><item><title><![CDATA[链表实现细节(个人笔记)]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/106453217</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/106453217</guid><author>DonoToT</author><pubDate>Tue, 02 Jun 2020 22:09:39 +0800</pubDate><description><![CDATA[本文章代码实现部分参见（C语言版）链表（一）——实现单向链表创建、插入、删除等简单操作（包含个人理解说明及注释，新手跟着写代码）


前言
整个C语言课程学习中, 第一个难点是指针数组, 第二个遇到的难点就是链表. 同时在学习数据结构过程中知道链表的原理, 却一直没办法实现. 查找了很多博客, 资料, 有幸看到如上真·新手向 教程, 特此分享并记录自己的不足与理解.

引例1 — 多项式加法
设计函数分别求两个一元多项式的乘积与和。
输入格式:
输入分2行，每行分别先给出多项式非零项的个数，再以指数递降方式]]></description><category></category></item><item><title><![CDATA[Codeforces Round #641 (Div. 2) A. Orac and Factors 找规律 --- 加因子]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/106184887</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/106184887</guid><author>DonoToT</author><pubDate>Mon, 18 May 2020 01:27:44 +0800</pubDate><description><![CDATA[Codeforces Round #641 (Div. 2) A. Orac and Factors



简要题意
给定一个数n, 求出进行k次操作后的结果.
操作为: n加自己的最小的不为1的因子, 得到一个新的数, 之后的操作在这个新的数字的基础上再进行操作.

分析
所给的数字大于等于2,

若为偶数, 偶数的最小因子必定为2, 相加后仍为偶数.
若为奇数, 奇数的最小因子必定为奇数, 相加后为偶数, 之后重复"1."即可

也就是说, 如果给定的n是偶数, 结果就是n+2k, 如果是奇数, 结果就]]></description><category></category></item><item><title><![CDATA[UVA1339 古老的密码 Ancient Cipher 排序]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/106098817</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/106098817</guid><author>DonoToT</author><pubDate>Wed, 13 May 2020 15:46:01 +0800</pubDate><description><![CDATA[UVA1339 古老的密码 Ancient Cipher
题目描述
古罗马帝国有一个拥有各种部门的强大政府组织。其中一个部门就是保密服务部门。为了保险起见，在省与省之间传递的重要文件中的大写字母是加密的。当时最流行的加密方法是替换和重新排列。
替换方法是将所有出现的字符按照一个规则替换，比如ABCDEFGHIJKLMNOPQRSTUVWXYZ到BCDEFGHIJKLMNOPQRSTUVWXYZA，如果原词是 “VICTORIOUS” 则它变成 “WJDUPSJPVT”。
排列方法改变原来单词中字母的顺序。例]]></description><category></category></item><item><title><![CDATA[洛谷 P1308 统计单词数 字符串处理]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/104746463</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/104746463</guid><author>DonoToT</author><pubDate>Mon, 09 Mar 2020 10:20:51 +0800</pubDate><description><![CDATA[洛谷 P1308 统计单词数
题目描述
一般的文本编辑器都有查找单词的功能，该功能可以快速定位特定单词在文章中的位置，有的还能统计出特定单词在文章中出现的次数。
现在，请你编程实现这一功能，具体要求是：给定一个单词，请你输出它在给定的文章中出现的次数和第一次出现的位置。注意：匹配单词时，不区分大小写，但要求完全匹配，即给定单词必须与文章中的某一独立单词在不区分大小写的情况下完全相同（参见样例1 ）...]]></description><category></category></item><item><title><![CDATA[洛谷 P1055 ISBN号码 字符串处理]]></title><link>https://blog.youkuaiyun.com/DonoToT/article/details/104741895</link><guid>https://blog.youkuaiyun.com/DonoToT/article/details/104741895</guid><author>DonoToT</author><pubDate>Sun, 08 Mar 2020 22:19:31 +0800</pubDate><description><![CDATA[洛谷 P1055 ISBN号码
题目描述
每一本正式出版的图书都有一个ISBN号码与之对应，ISBN码包括99位数字、11位识别码和33位分隔符，其规定格式如x-xxx-xxxxx-x，其中符号-就是分隔符（键盘上的减号），最后一位是识别码，例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言，例如00代表英语；第一个分隔符-之后的三位数字代表出版社，例如...]]></description><category></category></item></channel></rss>