<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RIPKEY的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/RIPKEY</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; RIPKEY]]></copyright><item><title><![CDATA[CSP-J 2021复赛真题解析]]></title><link>https://blog.csdn.net/RIPKEY/article/details/132878316</link><guid>https://blog.csdn.net/RIPKEY/article/details/132878316</guid><author>RIPKEY</author><pubDate>Thu, 14 Sep 2023 15:39:06 +0800</pubDate><description><![CDATA[TCP/IP 协议是网络通信领域的一项重要协议。今天你的任务，就是尝试利用这个协议，还原一个简化后的网络连接场景。在本问题中，计算机分为两大类：服务机（Server）和客户机（Client服务机负责建立连接，客户机负责加入连接。需要进行网络连接的计算机共有n台，编号为1∼n，这些机器将按编号递增的顺序，依次发起一条建立连接或加入连接的操作。每台机器在尝试建立或加入连接时需要提供一个地址串。服务机提供的地址串表示它尝试建立连接的地址，客户机提供的地址串表示它尝试加入连接的地址。]]></description><category></category></item><item><title><![CDATA[CSP-J 2019复赛真题解析]]></title><link>https://blog.csdn.net/RIPKEY/article/details/131226807</link><guid>https://blog.csdn.net/RIPKEY/article/details/131226807</guid><author>RIPKEY</author><pubDate>Thu, 15 Jun 2023 14:48:02 +0800</pubDate><description><![CDATA[第六条记录，在第 135 分钟乘坐公交车，由于此时手中只有第五条记录中乘坐地铁获得的优惠票有效，而本次公交车的票价为 6 元，高于第五条记录中地铁的票价 5 元，所以不能使用优惠票，花费 6 元乘坐公交车。第五条记录，在第 38 分钟乘坐公交车，此时第一条和第三条记录中乘坐地铁获得的优惠票都可以使用，使用获得最早的优惠票，即第一条记录中乘坐地铁获得的优惠票。第四条记录，在第 31 分钟乘坐公交车，此时只有第二条记录中乘坐的地铁票价高于本次公交车票价，所以使用第二条记录中乘坐地铁获得的优惠票。]]></description><category></category></item><item><title><![CDATA[区间DP---P3205 [HNOI2010]合唱队]]></title><link>https://blog.csdn.net/RIPKEY/article/details/127096977</link><guid>https://blog.csdn.net/RIPKEY/article/details/127096977</guid><author>RIPKEY</author><pubDate>Wed, 28 Sep 2022 21:12:06 +0800</pubDate><description><![CDATA[区间dp算法好题]]></description><category></category></item><item><title><![CDATA[5.23/24日一题——Stone Age Problem]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124941967</link><guid>https://blog.csdn.net/RIPKEY/article/details/124941967</guid><author>RIPKEY</author><pubDate>Tue, 24 May 2022 10:26:38 +0800</pubDate><description><![CDATA[题意：

题意翻译

题目描述

数组 a 有n 个元素，需要进行 q 次操作。

操作1：将第 i号元素改为x

操作2：将数组中所有元素改为x

每次操作完成后，输出当前数组中所有元素的总和。

输入格式

第一行两个整数 n,q(1≤n,q≤2×105)

第二行n个整数，表示 aa 中的元素(1≤ai​≤109)

接下来有q行，首先输入一个整数 t(t∈1,2)

若 t=1，接着输入两个整数i,x(1≤i≤n,1≤x≤109)

若 t=2，接着输入一个整数 x(1≤x≤109)

输出格式

]]></description><category></category></item><item><title><![CDATA[5.23每日一题 统计数字]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124929383</link><guid>https://blog.csdn.net/RIPKEY/article/details/124929383</guid><author>RIPKEY</author><pubDate>Mon, 23 May 2022 16:17:44 +0800</pubDate><description><![CDATA[题目描述
某次科研调查时得到了nn个自然数，每个数均不超过1500000000(1.5 \times 10^9)1500000000(1.5×10 9)。已知不相同的数不超过1000010000个，现在需要统计这些自然数各自出现的次数，并按照自然数从小到大的顺序输出统计结果。

一个比较简单的题目吧，不顾哦一开始没注意，re了，以为n的大小也是数字的大小，后面一看数字1e9以上了，按道理用个map啥的之类的计数然后放结构体里排序输出一遍就行，怕map会t，于是用unorded_map瞎搞之后放结构体排序..]]></description><category></category></item><item><title><![CDATA[Codeforces Round #787 (Div. 3)]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124869768</link><guid>https://blog.csdn.net/RIPKEY/article/details/124869768</guid><author>RIPKEY</author><pubDate>Thu, 19 May 2022 20:31:47 +0800</pubDate><description><![CDATA[🌲校赛前临时补题之codeforces


马上要校赛了，太久没敲题，怕校赛被暴打，于是乎写了一套div3，发现很多不会，然后写一下题解温顾一下，顺一顺思路。

A. Equidistant Letters

题意：

比较简单的一个题意，要求两个相同的字母之间距离要相同，但是这个字符串中相同字母最多出现两次，那么把相同字母放一起不就行了，再看长度不是很大，不超过52个，所以直接排序nlogn可行。52*1e3，当然也有O（n）的复杂度直接记录就行了


#include&lt;bits/stdc++.h.]]></description><category></category></item><item><title><![CDATA[5.19每日一题 堆]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124869386</link><guid>https://blog.csdn.net/RIPKEY/article/details/124869386</guid><author>RIPKEY</author><pubDate>Thu, 19 May 2022 19:04:32 +0800</pubDate><description><![CDATA[飞机票票

题目描述

给定一个数列，初始为空，请支持下面三种操作：

给定一个整数xx，请将xx加入到数列中。
	输出数列中最小的数。
	删除数列中最小的数（如果有多个数最小，只删除11个）。
输入格式

第一行是一个整数，表示操作的次数nn。
接下来nn行，每行表示一次操作。每行首先有一个整数opop表示操作类型。

若op = 1op=1，则后面有一个整数xx，表示要将xx加入数列。
	若op = 2op=2，则表示要求输出数列中的最小数。
	若op = 3op=3，则...]]></description><category></category></item><item><title><![CDATA[5.16 每日一题 邮递员送信]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124810649</link><guid>https://blog.csdn.net/RIPKEY/article/details/124810649</guid><author>RIPKEY</author><pubDate>Mon, 16 May 2022 23:33:24 +0800</pubDate><description><![CDATA[题目描述

有一个邮递员要送东西，邮局在节点 1。他总共要送 n−1 样东西，其目的地分别是节点 2 到节点 n。由于这个城市的交通比较繁忙，因此所有的道路都是单行的，共有 m 条道路。这个邮递员每次只能带一样东西，并且运送每件物品过后必须返回邮局。求送完这 n−1 样东西并且最终回到邮局最少需要的时间。

输入格式

第一行包括两个整数，nn 和 mm，表示城市的节点数量和道路数量。

第二行到第 (m+1)行，每行三个整数，u,v,w表示从 u 到 v 有一条通过时间为 w 的道路。

输出格式...]]></description><category></category></item><item><title><![CDATA[LL与CC]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124796233</link><guid>https://blog.csdn.net/RIPKEY/article/details/124796233</guid><author>RIPKEY</author><pubDate>Mon, 16 May 2022 11:25:58 +0800</pubDate><description><![CDATA[newcoder好题---LL与CC

链接：登录—专业IT笔试面试备考平台_牛客网
来源：牛客网


题目描述

小明很喜欢打游戏，现在已知一个新英雄即将推出，他同样拥有四个技能，其中三个小技能的释放时间和固定的伤害值为：

1.乌鸦坐飞机 释放时间：x 固定伤害值：a

2.蜘蛛吃耳屎 释放时间：y 固定伤害值：b

3.饿狼前进 释放时间：z 固定伤害值：c

他还有一个大招，其释放的时间是一个区间【L,R】，可以在区间内任意时间点释放出技能，其如果在L+i时刻释放技能，其能够打出的伤害值为:te..]]></description><category></category></item><item><title><![CDATA[5.15 每日一题 在你窗外闪耀的星星]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124795548</link><guid>https://blog.csdn.net/RIPKEY/article/details/124795548</guid><author>RIPKEY</author><pubDate>Mon, 16 May 2022 10:58:51 +0800</pubDate><description><![CDATA[这题做法应该挺多的，一个比较简单的直接思路就是双指针跑一下吧？

反正我是双指针跑一下就wa了

wa哪里了呢，满怀期待的我下载了第一个样例~~

好吧w可以等于0

特判一下--------&gt;Ac啦~~~


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;cstring&gt;
#include&lt;cstdio&gt;
#include&lt;stack&gt;
#include&lt;vector&gt;
...]]></description><category></category></item><item><title><![CDATA[5.11日每日一题 光雅者的荣耀题目]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124713208</link><guid>https://blog.csdn.net/RIPKEY/article/details/124713208</guid><author>RIPKEY</author><pubDate>Wed, 11 May 2022 16:31:51 +0800</pubDate><description><![CDATA[思路
还是非常好想的，毕竟是个红题，入门题，大概题意就是一条笔直的直线，每次经过一点需要一点花费，然后可以穿梭距离为k的直线，求最后最少的花费。
不难想到用前缀和跑一遍，输出最少的就行
#include &lt;bits/stdc++.h&gt;
#include&lt;unordered_map&gt;

#define endl '\n'
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace s.]]></description><category></category></item><item><title><![CDATA[5.10日每日一题 地毯]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124712492</link><guid>https://blog.csdn.net/RIPKEY/article/details/124712492</guid><author>RIPKEY</author><pubDate>Wed, 11 May 2022 16:07:58 +0800</pubDate><description><![CDATA[题意：
题意还是如图所示，非常清晰明了的，确实学到了东西，相比而且为前缀和，这个二位差分更加深得我心，其实也就是把二维转换为一维，只不过它的转换实在是过于巧妙了

代码
#include &lt;bits/stdc++.h&gt;
#include&lt;unordered_map&gt;

#define endl '\n'
#define IOS ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);

using namespace std;

co..]]></description><category></category></item><item><title><![CDATA[月赛（一）]]></title><link>https://blog.csdn.net/RIPKEY/article/details/123788897</link><guid>https://blog.csdn.net/RIPKEY/article/details/123788897</guid><author>RIPKEY</author><pubDate>Wed, 11 May 2022 15:48:47 +0800</pubDate><description><![CDATA[正式自己，找到问题，然后解决

A 消消乐

题意：

n颗任意颜色的珠子摆成一排，现在你知道每个珠子的颜色种类以及珠子的总数目。
现在你有一颗颜色为x的珠子。你可以将这颗珠子插在这一排珠子中的任意位置，
一旦存在连续的相同颜色的珠子数目大于等于三颗，那么这些连续的珠子将被消除。
同时两边的珠子向中间靠拢，将被消除的部分填满，这个过程不改变珠子的相对顺序。
保证初始状态不存在连续的同颜色珠子的数目大于等于三颗。

问：由你决定x的插入位置，问最多可以消除的珠子的数目是多少。（插入的珠子不计算在内）

思路：]]></description><category></category></item><item><title><![CDATA[5.5日每日一题——素数筛]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124589690</link><guid>https://blog.csdn.net/RIPKEY/article/details/124589690</guid><author>RIPKEY</author><pubDate>Thu, 05 May 2022 15:24:25 +0800</pubDate><description><![CDATA[模板素数筛，想看看自己不看代码提示默写出来要多久。。。然后emmm

代码里面有时间记录，完整的敲完大概花了六分钟，然后就出现了不可预计的bug

首先说比较严重的一点就是内层循环的判断语句，少了一个非常重要的上限，这点真是不应该！！

然后就是没想明白，1e8最多能筛多少素数，没想到真的能有1e7个，导致自己设置的1e6一直re，直到确保自己代码没问题才发现这里

大概总共用时20min?真是菜菜555


#include&lt;bits/stdc++.h&gt;
#include&lt;unord..]]></description><category></category></item><item><title><![CDATA[五一劳动节快乐加餐（图论补充）--------P5905 【模板】Johnson 全源最短路]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124577839</link><guid>https://blog.csdn.net/RIPKEY/article/details/124577839</guid><author>RIPKEY</author><pubDate>Wed, 04 May 2022 21:31:33 +0800</pubDate><description><![CDATA[本来是笑着做这个题的。。没想到越做越emo。。。只是看着代码实现花了快两个小时

题意：



思路：

题意还是非常明显的，第一问判断有没有负环，第二问算出，其中如果不存在则disi,j=1e9

那么比较直观的就是这题要求的是全源最短路，那么接下来再看数据范围：



ok~n=3e3,m=6e3，目前已知可以求全源最短路的算法有：

Floyd：时间复杂度O(n3)，可以处理负权边，但不能处理负环，而且速度很慢。
	Bellman-Ford：以每个点为源点做一次Bellman-Ford，时间复杂度O(]]></description><category></category></item><item><title><![CDATA[五一劳动节快乐加餐（图论补充）------P2573 [SCOI2012]滑雪]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124576148</link><guid>https://blog.csdn.net/RIPKEY/article/details/124576148</guid><author>RIPKEY</author><pubDate>Wed, 04 May 2022 20:01:40 +0800</pubDate><description><![CDATA[飞机票

题意：

a180285 非常喜欢滑雪。他来到一座雪山，这里分布着 mm 条供滑行的轨道和 nn 个轨道之间的交点（同时也是景点），而且每个景点都有一编号(1≤i≤n) 和一高度 hi​。

a180285 能从景点 i滑到景点 j当且仅当存在一条 ii 和 jj 之间的边，且 i的高度不小于j。与其他滑雪爱好者不同，a180285 喜欢用最短的滑行路径去访问尽量多的景点。如果仅仅访问一条路径上的景点，他会觉得数量太少。

于是 a18028 5拿出了他随身携带的时间胶囊。这是一种很神奇的药物，吃]]></description><category></category></item><item><title><![CDATA[5.3/4每日一题——SVEMIR]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124565280</link><guid>https://blog.csdn.net/RIPKEY/article/details/124565280</guid><author>RIPKEY</author><pubDate>Wed, 04 May 2022 08:53:32 +0800</pubDate><description><![CDATA[题意：

太空帝国要通过建造隧道来联通它的 N 个星球。

每个星球用三维坐标(xi​,yi​,zi​) 来表示，而在两个星球 A,B之间建造隧道的价格为

min{∣xA​−xB​∣,∣yA​−yB​∣,∣zA​−zB​∣}。

现要建造 N-1条隧道使得所有的星球都能直接或间接相连。求完成该任务所需的最小总价。

思路：

首先把题意理解清楚就是，对n个点要建n-1条边然后完成全部相连，这不一最小生成树吗，脑子里就两个算法，克鲁斯卡尔和普罗米。

Prim 算法

n^2的复杂度，实现起来就是在一个无向]]></description><category></category></item><item><title><![CDATA[五一劳动节快乐加餐（动态规划）---P1091 [NOIP2004 提高组] 合唱队形]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124544123</link><guid>https://blog.csdn.net/RIPKEY/article/details/124544123</guid><author>RIPKEY</author><pubDate>Mon, 02 May 2022 17:57:22 +0800</pubDate><description><![CDATA[题目描述：

n 位同学站成一排，音乐老师要请其中的 n-kn−k 位同学出列，使得剩下的 kk 位同学排成合唱队形。

合唱队形是指这样的一种队形：设 kk 位同学从左到右依次编号为 1,2,1,2, … ,k,k，他们的身高分别为 t1​,t2​, … tk​，则他们的身高满足 t1&lt;ti&gt;ti+1&gt;t1​&lt;⋯ti+1​&gt; … &gt;tk​(1≤i≤k)。

你的任务是，已知所有 n位同学的身高，计算最少需要几位同学出列，可以使得剩下的同学排成合唱队形。

思路：

首先]]></description><category></category></item><item><title><![CDATA[五一劳动节快乐加餐（动态规划）-----P1855 榨取kkksc03]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124538862</link><guid>https://blog.csdn.net/RIPKEY/article/details/124538862</guid><author>RIPKEY</author><pubDate>Mon, 02 May 2022 11:55:17 +0800</pubDate><description><![CDATA[题意：

第一行三个整数 n,M,Tn,M,T，表示一共有 nn（1 \le n \le 1001≤n≤100）个愿望， kkksc03 的手上还剩 MM（0 \le M \le 2000≤M≤200）元，他的暑假有 TT（0 \le T \le 2000≤T≤200）分钟时间。

第 22~n+1n+1 行 m_{i}mi​ , t_{i}ti​ 表示第 ii 个愿望所需要的金钱和时间。

思路：

如果只看金币或者只看时间的花费，其实很明显是一个01背包，但是如果多了一种要求，再看一眼数据范围，其实就是]]></description><category></category></item><item><title><![CDATA[P1020 [NOIP1999 普及组] 导弹拦截(100+200+详细证明)]]></title><link>https://blog.csdn.net/RIPKEY/article/details/124538097</link><guid>https://blog.csdn.net/RIPKEY/article/details/124538097</guid><author>RIPKEY</author><pubDate>Mon, 02 May 2022 11:35:50 +0800</pubDate><description><![CDATA[那么题意：

某国为了防御敌国的导弹袭击，发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷：虽然它的第一发炮弹能够到达任意的高度，但是以后每一发炮弹都不能高于前一发的高度。某天，雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段，所以只有一套系统，因此有可能不能拦截所有的导弹。

输入导弹依次飞来的高度（雷达给出的高度数据是\le 50000≤50000的正整数），计算这套系统最多能拦截多少导弹，如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。

思路：

第一问不难想到是个很明显的最长不上升子..]]></description><category></category></item></channel></rss>