<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Merran_的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Merran_</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Merran_]]></copyright><item><title><![CDATA[P1143 进制转换]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122856261</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122856261</guid><author>Merran_</author><pubDate>Thu, 10 Feb 2022 10:55:29 +0800</pubDate><description><![CDATA[解题思路：

先转十进制，再转需要转的进制。网上有人没转十进制直接做，但是我感觉还是转一下方便点。


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;cmath&gt;
using namespace std;
int B, b, shu, cnt, ans[50], arr;
string s;
char ch;

int main()
{
	cin &gt;&gt; B &gt;&gt; s;
	for (int i =..]]></description><category></category></item><item><title><![CDATA[P1138 第k小整数]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122837292</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122837292</guid><author>Merran_</author><pubDate>Wed, 09 Feb 2022 10:57:47 +0800</pubDate><description><![CDATA[通过这道题讲一下unique函数，这个函数是去重的函数，但是去重不是把重复的删掉（若要删掉用erase函数）而是把重复的部分后置，
]]></description><category></category></item><item><title><![CDATA[P1125 [NOIP2008 提高组] 笨小猴]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122821708</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122821708</guid><author>Merran_</author><pubDate>Tue, 08 Feb 2022 12:52:14 +0800</pubDate><description><![CDATA[解题思路：

用数组记录每个字母出现的次数，然后找出最大值和最小值，再判断是否质数。稍难的点在于很多同学不会用数组记录每个字母出现的次数，可能有些人就是先输入个字符串然后去遍历，我滴个乖乖，这样就搞得很麻烦了哈。话不多说看代码，就知道这里怎么处理了，看不懂的话就去调试一遍，随便用个例子就行。


#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;cmath&gt;
using namespace std;
string arr;
ch..]]></description><category></category></item><item><title><![CDATA[P1105 平台]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122770187</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122770187</guid><author>Merran_</author><pubDate>Wed, 02 Feb 2022 16:22:42 +0800</pubDate><description><![CDATA[解题思路：

刷题不够的童鞋看到这道题有思路，但是估计是暴力枚举了，可能超时哦，emmm（虽然我也是枚举的，但没那么暴力，也不会超时），对这道题，先想想，如果要能掉下去，那么下面的平台的高度一定低一点，所以我们可以先按高度排个序，但是光按高度排序是不行的，因为有高度相同的，那么此时就要看到题意里面，高度相同满足条件的话就掉到我们优先输入的平台上，那么排序条件就有两个，这个就是cmp1，接下来就用一个递归搜索就行了，这个应该没问题，然后完成之后，我们要再用sort排序回来，因为结果要按输入的顺序输出...]]></description><category></category></item><item><title><![CDATA[P1104 生日]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122763536</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122763536</guid><author>Merran_</author><pubDate>Tue, 01 Feb 2022 12:42:44 +0800</pubDate><description><![CDATA[解题思路：

这道题主要就是sort函数的运用，不过这道题要稍微用点小技巧，因为题目要求如果有两个同学生日相同,输入靠后的同学先输出，这样的话我们必须加上一个数据来判定谁先输入谁先输出，所以我在结构体里面加了个ci。


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
using namespace std;
int n;

struct stu
{
	int nian, yue, ri, ci;
	string name;
}ans[100];

..]]></description><category></category></item><item><title><![CDATA[P1102 A-B 数对]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122746504</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122746504</guid><author>Merran_</author><pubDate>Sat, 29 Jan 2022 18:48:05 +0800</pubDate><description><![CDATA[解题思路：

对比各位大佬的二分还是map，我这个算是非常朴素简单的了，只是数据太大就会超时，我的思路就是先把每个输入的数排序，然后一个挨着一个开始找，当然中间加了判断条件，会减少很多循环次数。

代码如下：


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
using namespace std;
int n, num, sum, ans[200005], flag;

int main()
{
	cin &gt;&gt; n &gt;&gt; ..]]></description><category></category></item><item><title><![CDATA[每日五练---P1100 高低位交换]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122717354</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122717354</guid><author>Merran_</author><pubDate>Thu, 27 Jan 2022 14:40:41 +0800</pubDate><description><![CDATA[把自己代码写完之后看了看网上别人的代码，最简便的无疑是用位移运算符，但是我不会。。。，最难的有几十行代码，而且好多人还真的去把数组位置变了一下，xxwl。

解题思路：

把数转化为二进制进数组，从数组的17个元素开始进行二进制到十进制的转化，进行到第三十二个元素的时候再进行1到16个元素的转化，多说无益，上代码：


#include&lt;iostream&gt;
#include&lt;cmath&gt;
using namespace std;
int ans[32], cnt;
long lo..]]></description><category></category></item><item><title><![CDATA[P1098 [NOIP2007 提高组] 字符串的展开]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122708609</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122708609</guid><author>Merran_</author><pubDate>Wed, 26 Jan 2022 20:59:43 +0800</pubDate><description><![CDATA[解题思路：

这道题，，我真的一言难尽，写了好半天，主要是各个条件的判断，写了就好了，难倒是不算难想，但工作量比较大。

代码如下：


#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;
int oder1, oder2, oder3;
string ans;

int main()
{
	cin &gt;&gt; oder1 &gt;&gt; oder2 &gt;&gt; oder3;
	cin &gt;&g...]]></description><category></category></item><item><title><![CDATA[每日五练---P1097 [NOIP2007 提高组] 统计数字]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122686473</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122686473</guid><author>Merran_</author><pubDate>Tue, 25 Jan 2022 15:43:38 +0800</pubDate><description><![CDATA[解题思路：

把数据先输入，然后排序，再输出。

emmm...第一次用的vector容器做的，把题想复杂了，然后超时。

代码如下：


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
#include&lt;vector&gt;
#include&lt;cstdio&gt;
using namespace std;
int n;

struct shu
{
    int a = 0, ci = 1;
};

bool cmp(shu a, sh..]]></description><category></category></item><item><title><![CDATA[每日五练---P1094 [NOIP2007 普及组] 纪念品分组]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122684024</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122684024</guid><author>Merran_</author><pubDate>Tue, 25 Jan 2022 14:05:44 +0800</pubDate><description><![CDATA[解题思路：

这道题是要找出最小的组数，不是要求组数最小并且最平均！！！要明确这一点，所以思路就是让尽量多的礼物可以凑成两两一组，肯定不能价格少的和价格少的一组，这样的话后面的价格大的就凑不了了，所以就最好是把价格最小的和价格最大的匹配，如果最大的加上价格最小的会超出的话，那么价格最大的就单独一组，价格最小的就和第二价格大的一组。

看一组例子：


100 
9 
90 
20 
20 
30 
50 
60 
70 
80 
90

这个是不是这样来：第一组：90 第二组：90 第三组： 80+...]]></description><category></category></item><item><title><![CDATA[每日五练---P1093 [NOIP2007 普及组] 奖学金]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122681048</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122681048</guid><author>Merran_</author><pubDate>Tue, 25 Jan 2022 10:54:45 +0800</pubDate><description><![CDATA[解题思路：

没有太大技巧，就是写入然后排序，再输出，需要注意的是sort函数里面的比较函数的写法

代码如下：


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
using namespace std;
int n;

struct stu
{
	int number, cn, math, eng, total;
}ans[305];

bool cmp(stu a, stu b)
{
	if (a.total == b.total) {
...]]></description><category></category></item><item><title><![CDATA[每日五练---P1086 [NOIP2004 普及组] 花生采摘]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122665608</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122665608</guid><author>Merran_</author><pubDate>Mon, 24 Jan 2022 13:26:33 +0800</pubDate><description><![CDATA[解题思路：

把k这个时间想成步数，意思就要在k步之内从最大的开始拿，然后去第二大的。。。。，每次去下一个最大的之前都需要判断去了能不能回马路上，能就去，不能就不去。

代码：


#include&lt;iostream&gt;
using namespace std;
int m, n, k, arr[25][25], sum, i, o, cnt = 1, maxs, x0, y0, x1, y1, p, t, bu;

struct point
{
	int x, y;
	int numb...]]></description><category></category></item><item><title><![CDATA[每日五练---P1079 [NOIP2012 提高组] Vigenère 密码]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122656030</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122656030</guid><author>Merran_</author><pubDate>Sun, 23 Jan 2022 19:49:49 +0800</pubDate><description><![CDATA[解题思路：

说白了就是把密匙中的a/A变成0,b/B变成1......这样的，我们要得的明文就是密文对应的字符减去该字符对应的密匙字符的数字，需要注意的是a-1不是变成阿斯克码等于96的字符，而是z，A同理，其他的字符也同理。

人狠话不多，上代码：


#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;
string s1, s2;
int ex[105];

int main()
{
	cin &gt;&gt;...]]></description><category></category></item><item><title><![CDATA[每日五练---P1071 [NOIP2009 提高组] 潜伏者]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122655308</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122655308</guid><author>Merran_</author><pubDate>Sun, 23 Jan 2022 18:59:46 +0800</pubDate><description><![CDATA[这道题读题有点麻烦，比我敲代码都久，但理解之后不难做出，不过有个地方我不太理解。

先上AC代码。


#include&lt;iostream&gt;
#include&lt;string&gt;
using namespace std;
int cnt;
string arr;

struct ch
{
	char jm;
	char ym;
}ans[105];

int main()
{
	string s,ceshi;
	cin &gt;&gt; s;
	int i, o, t...]]></description><category></category></item><item><title><![CDATA[每日五练---P1068 [NOIP2009 普及组] 分数线划定]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122650126</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122650126</guid><author>Merran_</author><pubDate>Sun, 23 Jan 2022 13:05:22 +0800</pubDate><description><![CDATA[解题思路：

结构体封装数据便于排名，sort函数排名；

上代码：


#include&lt;iostream&gt;
#include&lt;algorithm&gt;
using namespace std;
int n, m;

struct stu
{
	int number, score;
}ans[5005];

bool cmp(stu a, stu b)
{
	if (a.score == b.score) return a.number &lt; b.number;
	ret...]]></description><category></category></item><item><title><![CDATA[P1067 [NOIP2009 普及组] 多项式输出]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122640050</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122640050</guid><author>Merran_</author><pubDate>Sat, 22 Jan 2022 18:55:30 +0800</pubDate><description><![CDATA[题目描述

一元nn次多项式可用如下的表达式表示：



     

其中，a_ix^iai​xi称为ii次项，ai​ 称为i次项的系数。给出一个一元多项式各项的次数和系数，请按照如下规定的格式要求输出该多项式：


	多项式中自变量为x，从左到右按照次数递减顺序给出多项式。
	
	
	多项式中只包含系数不为0的项。
	
	
	如果多项式n次项系数为正，则多项式开头不出现“+”号，如果多项式n次项系数为负，则多项式以“-”号开头。
	
	
对于不是最高次的项，以“+”号或者“-”号连接此项与前...]]></description><category></category></item><item><title><![CDATA[P1062 [NOIP2006 普及组] 数列]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122636002</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122636002</guid><author>Merran_</author><pubDate>Sat, 22 Jan 2022 14:10:17 +0800</pubDate><description><![CDATA[题目描述

给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列，例如，当k=3时，这个序列是：

1,3,4,9,10,12,13,…

（该序列实际上就是：3^0,3^1,3^0+3^1,3^2,3^0+3^2,3^1+3^2,3^0+3^1+3^2,…）

请你求出这个序列的第N项的值（用10进制数表示）。

例如，对于k=3，N=100，正确答案应该是981

输入格式

2个正整数，用一个空格隔开：

kN （k、N的含义与上述的问题描述一致，且3≤]]></description><category></category></item><item><title><![CDATA[P1060 [NOIP2006 普及组] 开心的金明]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122633801</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122633801</guid><author>Merran_</author><pubDate>Sat, 22 Jan 2022 10:30:48 +0800</pubDate><description><![CDATA[题目描述

金明今天很开心，家里购置的新房就要领钥匙了，新房里有一间他自己专用的很宽敞的房间。更让他高兴的是，妈妈昨天对他说：“你的房间需要购买哪些物品，怎么布置，你说了算，只要不超过N元钱就行”。今天一早金明就开始做预算，但是他想买的东西太多了，肯定会超过妈妈限定的N元。于是，他把每件物品规定了一个重要度，分为5等：用整数1−5表示，第5等最重要。他还从因特网上查到了每件物品的价格（都是整数元）。他希望在不超过N元（可以等于N元）的前提下，使每件物品的价格与重要度的乘积的总和最大。

设第j件物品的价格为]]></description><category></category></item><item><title><![CDATA[背包问题-＞采药问题-＞装箱问题]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122623585</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122623585</guid><author>Merran_</author><pubDate>Fri, 21 Jan 2022 16:34:00 +0800</pubDate><description><![CDATA[一、背包问题


有n个物品，它们有各自的体积和价值，现有给定容量的背包，如何让背包里装入的物品具有最大的价值总和？

二、采药问题：

有总时间为T，有m株药，每株药有其价值和采集时间，要求在总时间内所采药的总价值最大。

三：装箱问题：

有一个箱子容量为V（正整数0≤V≤20000），同时有n个物品（0&lt;n≤30，每个物品有一个体积（正整数）。

要求n个物品中，任取若干个装入箱内，使箱子的剩余空间为最小。



解题思路：

三道题都可以用搜索和动规做，但搜索容易超时，最好还是用动规。
...]]></description><category></category></item><item><title><![CDATA[P1042 [NOIP2003 普及组] 乒乓球]]></title><link>https://blog.youkuaiyun.com/Merran_/article/details/122597546</link><guid>https://blog.youkuaiyun.com/Merran_/article/details/122597546</guid><author>Merran_</author><pubDate>Thu, 20 Jan 2022 11:33:45 +0800</pubDate><description><![CDATA[题目背景

国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革，以推动乒乓球运动在全球的普及。其中 11 分制改革引起了很大的争议，有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位，他退役之后走上了乒乓球研究工作，意图弄明白 11 分制和 21 分制对选手的不同影响。在开展他的研究之前，他首先需要对他多年比赛的统计数据进行一些分析，所以需要你的帮忙。

题目描述

华华通过以下方式进行分析，首先将比赛每个球的胜负列成一张表，然后分别计算在 1111 分制和 2121 分制下，双方的比赛..]]></description><category></category></item></channel></rss>