<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[chdcb的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/chdcb</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; chdcb]]></copyright><item><title><![CDATA[牛客 方块与收纳盒]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/127720156</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/127720156</guid><author>chdcb</author><pubDate>Sun, 06 Nov 2022 20:23:51 +0800</pubDate><description><![CDATA[一道简单的线性dp的题目（入门题目）]]></description><category></category></item><item><title><![CDATA[NOI openjudge 计算2的N次方]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/125163357</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/125163357</guid><author>chdcb</author><pubDate>Tue, 07 Jun 2022 14:34:17 +0800</pubDate><description><![CDATA[任意给定一个正整数N(N]]></description><category></category></item><item><title><![CDATA[组合数递归公式（笔记）]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/124687857</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/124687857</guid><author>chdcb</author><pubDate>Tue, 10 May 2022 14:35:05 +0800</pubDate><description><![CDATA[组合数的递推公式

题目：5.10 周练 - Virtual Judge (vjudge.net)

思路：通过组合数递推公式加逆元的方式进行递推计算


#include&lt;bits/stdc++.h&gt;
using namespace std;
typedef long long ll;
ll mod=1e9+7;
ll cnt,sum;

ll qpow(ll a,ll b){
	ll res=1;
	while(b){
		if(b&amp;1) res*=a;
		res%=mod;
..]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.8 23:二维数组回形遍历（多维数组的遍历） C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/121784907</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/121784907</guid><author>chdcb</author><pubDate>Wed, 08 Dec 2021 11:21:49 +0800</pubDate><description><![CDATA[描述

给定一个row行col列的整数数组array，要求从array[0][0]元素开始，按回形从外向内顺时针顺序遍历整个数组。如图所示：



输入

输入的第一行上有两个整数，依次为row和col。
余下有row行，每行包含col个整数，构成一个二维整数数组。
（注：输入的row和col保证0 &lt; row &lt; 100, 0 &lt; col &lt; 100）

输出

按遍历顺序输出每个整数。每个整数占一行。



（作为一个水娃，总算更新了，给大伙来个好玩的题）

有人问我这道题，说是]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.6 10:大整数加法 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120922076</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120922076</guid><author>chdcb</author><pubDate>Sun, 24 Oct 2021 15:41:39 +0800</pubDate><description><![CDATA[描述

求两个不超过200位的非负整数的和。

输入

有两行，每行是一个不超过200位的非负整数，可能有多余的前导0。

输出

一行，即相加后的结果。结果里不能有多余的前导0，即如果结果是342，那么就不能输出为0342。

有一说一我本人是不大想讲的，因为这个题考的就是你们的思路，算是oj上的第一大难点吧（事实上就是我懒，讲解一遍太费力了）。但是，我看很多同学都卡死在这道题，一筹莫展，我就感到十分的悲痛，宝贵的刷题时光就这样浪费了，多可惜。所以我写了这篇文章给那些想了很久但是真的没什么思路的同学（那些]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 42:画矩形 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120874674</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120874674</guid><author>chdcb</author><pubDate>Wed, 20 Oct 2021 20:52:34 +0800</pubDate><description><![CDATA[描述

根据参数，画出矩形。

输入

输入一行，包括四个参数：前两个参数为整数，依次代表矩形的高和宽（高不少于3行不多于10行，宽不少于5列不多于10列）；第三个参数是一个字符，表示用来画图的矩形符号；第四个参数为1或0，0代表空心，1代表实心。

输出

输出画出的图形。



思路：总共分成两种情况，一种是实心的，另一种是空心的（个人认为看作二维数组会比较清晰）

这道题主要考的是嵌套循环（到二维数组天天用的东西），废话不多说，直接上代码解释


#include&lt;stdio.h&gt;
int]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 22:津津的储蓄计划 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120857125</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120857125</guid><author>chdcb</author><pubDate>Tue, 19 Oct 2021 23:48:05 +0800</pubDate><description><![CDATA[描述

津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱，津津会预算这个月的花销，并且总能做到实际花销和预算的相同。

为了让津津学习如何储蓄，妈妈提出，津津可以随时把整百的钱存在她那里，到了年末她会加上20％还给津津。因此津津制定了一个储蓄计划：每个月的月初，在得到妈妈给的零花钱后，如果她预计到这个月的月末手中还会有多于100元或恰好100元，她就会把整百的钱存在妈妈那里，剩余的钱留在自己手中。

例如11月初津津手中还有83元，妈妈给了津津300元。津津预计11月的花销是180元，那么她就]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 18:鸡尾酒疗法 C语言（包含一维数组的简单讲解）]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120630200</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120630200</guid><author>chdcb</author><pubDate>Wed, 06 Oct 2021 22:34:44 +0800</pubDate><description><![CDATA[描述

鸡尾酒疗法，原指“高效抗逆转录病毒治疗”（HAART），由美籍华裔科学家何大一于1996年提出，是通过三种或三种以上的抗病毒药物联合使用来治疗艾 滋病。该疗法的应用可以减少单一用药产生的抗药性，最大限度地抑制病毒的复制，使被破坏的机体免疫功能部分甚至全部恢复，从而延缓病程进展，延长患者生 命，提高生活质量。人们在鸡尾酒疗法的基础上又提出了很多种改进的疗法。为了验证这些治疗方法是否在疗效上比鸡尾酒疗法更好，可用通过临床对照实验的方式 进行。假设鸡尾酒疗法的有效率为x，新疗法的有效率为y，如果y-x大于]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 16:买房子 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120602581</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120602581</guid><author>chdcb</author><pubDate>Mon, 04 Oct 2021 12:08:10 +0800</pubDate><description><![CDATA[描述

某程序员开始工作，年薪N万，他希望在中关村公馆买一套60平米的房子，现在价格是200万，假设房子价格以每年百分之K增长，并且该程序员未来年薪不变，且不吃不喝，不用交税，每年所得N万全都积攒起来，问第几年能够买下这套房子？（第一年年薪N万，房价200万）

输入

一行，包含两个正整数N（10 &lt;= N &lt;= 50）, K（1 &lt;= K &lt;= 20），中间用单个空格隔开。

输出

如果在第20年或者之前就能买下这套房子，则输出一个整数M，表示最早需要在第M年能买下，否则输出I]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 15:银行利息 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120590646</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120590646</guid><author>chdcb</author><pubDate>Sun, 03 Oct 2021 00:07:17 +0800</pubDate><description><![CDATA[描述

农夫约翰在去年赚了一大笔钱！他想要把这些钱用于投资，并对自己能得到多少收益感到好奇。已知投资的复合年利率为R（0到20之间的整数）。约翰现有总值为M的钱（100到1,000,000之间的整数）。他清楚地知道自己要投资Y年（范围0到400）。请帮助他计算最终他会有多少钱，并输出它的整数部分。数据保证输出结果在32位有符号整数范围内。

输入

一行包含三个整数R，M，Y，相邻两个整数之间用单个空格隔开。

输出

一个整数，即约翰最终拥有多少钱（整数部分）。

思路：首先我们知道年利率是个百分数，所以]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 13:乘方计算]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120590570</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120590570</guid><author>chdcb</author><pubDate>Sat, 02 Oct 2021 23:53:15 +0800</pubDate><description><![CDATA[描述

给出一个整数a和一个正整数n，求乘方a的n次方。

输入

一行，包含两个整数a和n。-1000000 &lt;= a &lt;= 1000000，1 &lt;= n &lt;= 10000。

输出

一个整数，即乘方结果。题目保证最终结果的绝对值不超过1000000。

思路：和自增的做法差不多（就是每循环一次乘一次）


#include&lt;stdio.h&gt;
int main(){
    int a,b,c,sum=1;//定义总量初始值为1，因为必定会乘一次
    scanf(]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 12:与指定数字相同的数的个数 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120590473</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120590473</guid><author>chdcb</author><pubDate>Sat, 02 Oct 2021 23:33:32 +0800</pubDate><description><![CDATA[描述

输出一个整数序列中与指定数字相同的数的个数。

输入

输入包含2行：
第1行为N和m，表示整数序列的长度(N &lt;= 100)和指定的数字， 中间用一个空格分开；
第2行为N个整数，整数之间以一个空格分开。

输出

输出为N个数中与m相同的数的个数。

思路还是很简单

首先 循环次数是N（蓝字部分注意） 指定的数字就是我们m（输入的第二个数）

然后 每次循环检测输入值是否与我们的m相等就行了


#include&lt;stdio.h&gt;
int main(){
    int ..]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 11:整数的个数 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120590379</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120590379</guid><author>chdcb</author><pubDate>Sat, 02 Oct 2021 23:20:32 +0800</pubDate><description><![CDATA[描述

给定k（1&lt; k &lt; 100）个正整数，其中每个数都是大于等于1，小于等于10的数。写程序计算给定的k个正整数中，1，5和10出现的次数。

输入

输入有两行：第一行包含一个正整数k，第二行包含k个正整数，每两个正整数用一个空格分开。

输出

输出有三行，第一行为1出现的次数，第二行为5出现的次数，第三行为10出现的次数。

注意蓝字的部分

因为给的条件限制的很厉害，所以只要用if标注出3种情况然后嵌套在循环里面就行了


#include&lt;stdio.h&gt;
int..]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 09:奇数求和 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120590273</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120590273</guid><author>chdcb</author><pubDate>Sat, 02 Oct 2021 23:08:31 +0800</pubDate><description><![CDATA[描述

计算非负整数 m 到 n（包括m 和 n ）之间的所有奇数的和，其中，m 不大于 n，且n 不大于300。例如 m=3, n=12, 其和则为：3+5+7+9+11=35。

输入

两个数 m 和 n，两个数以一个空格分开，其中 0 &lt;= m &lt;= n &lt;= 300 。

输出

输出一行，包含一个整数，表示m 到 n（包括m 和 n ）之间的所有奇数的和

这里我提供两种做法

第一种是正常的循环做法，第二种是偷鸡做法


#include&lt;stdio.h&gt;
int]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 06：整数序列的元素最大跨度值 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120582202</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120582202</guid><author>chdcb</author><pubDate>Fri, 01 Oct 2021 23:52:59 +0800</pubDate><description><![CDATA[描述

给定一个长度为n的非负整数序列，请计算序列的最大跨度值（最大跨度值 = 最大值减去最小值）。

输入

一共2行，第一行为序列的个数n（1 &lt;= n &lt;= 1000)，第二行为序列的n个不超过1000的非负整数，整数之间以一个空格分隔。

输出

输出一行，表示序列的最大跨度值。

这题的思路和上题基本一致（1.5 05可以去看我的上一篇文章）

只是上一题只要最大值，而这一题还需要一个最小值

所以我们不妨在定义一个变量min用选择语句求出最小值


#include&lt;stdi.]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 05：最高的分数 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120582042</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120582042</guid><author>chdcb</author><pubDate>Fri, 01 Oct 2021 23:43:47 +0800</pubDate><description><![CDATA[描述

孙老师讲授的《计算概论》这门课期中考试刚刚结束，他想知道考试中取得的最高分数。因为人数比较多，他觉得这件事情交给计算机来做比较方便。你能帮孙老师解决这个问题吗？

输入

输入两行，第一行为整数n（1 &lt;= n &lt; 100），表示参加这次考试的人数.第二行是这n个学生的成绩，相邻两个数之间用单个空格隔开。所有成绩均为0到100之间的整数。

输出

输出一个整数，即最高的成绩。

这道题考验的是循环结构和选择结构的混用（for和if一起用或while和if一起用）

所以这里我们需要定义]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 04：求整数的和与均值 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120581826</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120581826</guid><author>chdcb</author><pubDate>Fri, 01 Oct 2021 23:22:35 +0800</pubDate><description><![CDATA[描述

读入n（1 &lt;= n &lt;= 10000）个整数，求它们的和与均值。

输入

输入第一行是一个整数n，表示有n个整数。
第2~n+1行每行包含1个整数。每个整数的绝对值均不超过10000。

输出

输出一行，先输出和，再输出平均值（保留到小数点后5位），两个数间用单个空格分隔。



思路：和1.5 01的题一样（不清楚的小伙伴可以去看前一篇文章）首先进行多次输入

但这里的题目要求有一个总和，只要总值求出来后，求均值不是简简单单，所以我们声明一个变量sum（表达为总数的意思，你想声.]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.5 01 求平均年龄 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120581705</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120581705</guid><author>chdcb</author><pubDate>Fri, 01 Oct 2021 22:52:11 +0800</pubDate><description><![CDATA[描述

班上有学生若干名，给出每名学生的年龄（整数），求班上所有学生的平均年龄，保留到小数点后两位。

输入

第一行有一个整数n（1&lt;= n &lt;= 100），表示学生的人数。其后n行每行有1个整数，表示每个学生的年龄，取值为15到25。

输出

输出一行，该行包含一个浮点数，为要求的平均年龄，保留到小数点后两位。



oj考验循环的第一题

目标是让你通过循环进行多次输入

题目首先给你输入一个n，这个n就表示了之后循环输入的次数

for和while都是能用的，我个人比较喜欢用for，这]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.4 20 求一元二次方程的根]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120479799</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120479799</guid><author>chdcb</author><pubDate>Sat, 25 Sep 2021 23:42:39 +0800</pubDate><description><![CDATA[描述

利用公式x1 = (-b + sqrt(b*b-4*a*c))/(2*a), x2 = (-b - sqrt(b*b-4*a*c))/(2*a)求一元二次方程ax2+ bx + c =0的根，其中a不等于0。

输入

输入一行，包含三个浮点数a, b, c（它们之间以一个空格分开），分别表示方程ax2+ bx + c =0的系数。

输出

输出一行，表示方程的解。
若b2= 4 * a * c,则两个实根相等，则输出形式为：x1=x2=...。
若b2&gt; 4 * a * c,则两个实...]]></description><category></category></item><item><title><![CDATA[NOI OJ 1.1 10 超级玛丽 C语言]]></title><link>https://blog.youkuaiyun.com/chdcb/article/details/120479601</link><guid>https://blog.youkuaiyun.com/chdcb/article/details/120479601</guid><author>chdcb</author><pubDate>Sat, 25 Sep 2021 23:18:25 +0800</pubDate><description><![CDATA[没什么好说的，这题目没啥意义，直接抄代码就行了


#include&lt;stdio.h&gt;
int main(){
printf("                ********\n\
               ************\n\
               ####....#.\n\
             #..###.....##....\n\
             ###.......######              ###                 #]]></description><category></category></item></channel></rss>