NOIP
NOIP相关
小哈里
愿你被世界温柔以待
展开
-
【NOI OpenJudge】【1.4】编程基础之逻辑表达式与条件分支
01:判断数正负#include<cstdio>#include<iostream>using namespace std;int main(){ int n; cin>>n; if(n > 0){ printf("positive\n"); }else if(n ==原创 2018-12-18 12:27:00 · 5841 阅读 · 0 评论 -
【NOI OpenJudge】【1.3】编程基础之算术表达式与顺序执行
01: A+B问题#include<iostream>using namespace std;int main(){ int a, b; cin>>a>>b; cout<<a+b&原创 2018-12-09 11:33:10 · 5092 阅读 · 0 评论 -
【NOI OpenJudge】【1.2】编程基础之变量定义、赋值及转换
01: 整型数据类型存储空间大小#include<cstdio>int main(){ int a; short b; printf("%d %d",sizeof(a),sizeof(b)); return 0;}02: 浮点型数据类型存储空间大小#include<cstdio>int main(){ float a; double b; prin...原创 2018-12-09 11:29:05 · 2950 阅读 · 0 评论 -
【NOI OpenJudge】【1.1】编程基础之输入输出
01:Hello, World!#include&lt;iostream&gt;#include&lt;cstdio&gt;using namespace std;int main(){ printf("Hello, World!"); return 0;}02:输出第二个整数#include&lt;iostream&gt;#include&a原创 2018-12-08 21:46:55 · 2331 阅读 · 1 评论 -
【OpenJudge10】超级玛丽游戏
problemsolutioncodes#include&lt;cstdio&gt;int main(){ printf(" ********\n"); printf(" ************\n"); printf(" ####....#.\n")原创 2018-12-07 17:17:11 · 1576 阅读 · 0 评论 -
【OpenJudge7826】分苹果(小学奥数)
problem总时间限制: 1000ms 内存限制: 65536kB描述把一堆苹果分给n个小朋友,要使每个人都能拿到苹果,而且每个人拿到的苹果数都不同的话,这堆苹果至少应该有多少个?输入一个不大于1000的正整数n,代表小朋友人数。输出一个整数,表示满足条件的最少苹果个数。样例输入8样例输出36来源《奥数典型题举一反三(小学五年级)》 (ISBN 978-7-5445-2...原创 2018-12-07 13:59:34 · 2631 阅读 · 0 评论 -
【NOIP2018】【Luogu5019】铺设道路(贪心,差分)
problem初始序列全为0,每次操作可以将一个区间全部加1。求最少操作数使序列变为目标序列。solution讲个笑话,2013年那题的代码直接复制粘贴都能过这题。我们设d[i]=a[i]-a[i-1], 显然如果我将l~r进行操作相当于将d[l]加一而将d[r+1]减一(差分)所以最少操作数就是所有正权d值的和。(把目标序列用最少次数变为全为0的空序列:反正最后差分数列必须全为...原创 2018-11-14 12:19:08 · 746 阅读 · 0 评论 -
【代码模板】不存在的NOIP2017
虽然可能没机会参加NOIP2017的复赛了但是这份模板我还是会在比赛前完成它的,作为对我过去一年的反馈。因为技能树点歪,,所以我会弃坑重新来点,辣么,,模板题的理解就很重要,他直接决定了其他的题目你写不写的来。。所以,这里的许多东西也许没办法在OJ上直接验证正确性(这也是打模板的痛苦之处)不过我会尽力去找的,并且也会把自编的数据存放下来。就酱紫。frame//这个项目提供了程序基...原创 2018-10-14 12:38:37 · 630 阅读 · 0 评论 -
高精度算法模板索引
1、四则运算高精加高精高精减高精高精乘高精(FFT优化)高精除高精2、四则运算高精加低精高精减低精高精乘低精高精除低精3、其他运算高精取模高精高精取模低精高精比较大小4、公式运算高精度求平方根高精度开根号高精度阶乘高精度幂高精度GCD高精度进制转换...原创 2018-10-11 13:39:46 · 652 阅读 · 0 评论 -
【Luogu1996】约瑟夫问题(模拟,解法汇总)
problemn个人,每次数到m的人出队输出出队顺序n<=100solution1模拟:每次枚举第m个人出队O(n,m)#include<iostream>using namespace std;int n, m, a[110];int main(){ cin>>n>>m; int pos = 0;//上一次出队...原创 2018-10-10 18:19:07 · 671 阅读 · 0 评论 -
【初赛】「阅读程序」题答v1.0
「阅读程序」题答核心要义:是设法弄清程序的功能,每个题目的写作目的。一、方法1、直接模拟:一般适用于T1、T2中的递归题,计算题等没有算法的题。2、看出算法直接填:最佳方法。需要较多模板,但耗时少,准确率高。3、模拟几次后找规律:不知道算法时采用(大胆猜测,小心求证),适用性较广,且一般都对,但耗时较多。4、猜出算法直接填:已有一定错误几率,时间受限时优先采用。5、换一个方法了解...原创 2018-10-09 17:38:54 · 1252 阅读 · 0 评论 -
【初赛】排列组合的一点笔记
一、占坑排列,组合(公式、性质、二项式定理、杨辉三角、Lucas定理、莫比乌斯函数计数原理(加法、乘法、容斥、抽屉、计数问题(特殊元素、选派分组数字问题、放回不放回、排列问题(错位排列、托康展开,奇偶性著名问题(整数拆分、幻方、任务调度、四色、邮差数列(卡特兰、斯特林问题分类:存在、计数、构造、最优化二、填坑1、排列,组合排列组合公式、推导、含义:https://oi-w...原创 2018-10-09 12:02:13 · 870 阅读 · 0 评论 -
【NOIP2015】【Luogu2615】神奇的幻方(模拟填数)
problem给一定n*n的矩阵,要求填上1~n*n的数,使之每行、列、对角线的和都相等。n为奇数时,按如下步骤构建:1.若(K−1)在第一行但不在最后一列,则将K填在最后一行,(K−1)所在列的右一列;2.若(K−1)在最后一列但不在第一行,则将K填在第一列,(K−1)所在行的上一行;3.若(K−1)在第一行最后一列,则将K填在(K−1)的正下方;4.若(K−1)既不在第一行,也不...原创 2018-09-25 12:45:18 · 608 阅读 · 0 评论 -
初赛中的CCF广告题
初赛中的CCF广告题2018.9.19一、OI概览1、历史和时间2、二、技术规则1、软件系统:NOILinux 1.4.1、Arbiter测评系统相关编译器:G++4.8.4、FPC 2.6.2调试器:GDB 7.7.1、DDD 3.3.12集成开发环境:GUIDE 1.02(通用)、Anjuta 3.10.2(C++)、Lazarus 1.0.12(pascal)笔试题...原创 2018-09-19 13:03:22 · 728 阅读 · 0 评论 -
初赛复习的一些零碎链接
P=NP问题:http://www.matrix67.com/blog/archives/105https://www.zhihu.com/question/27039635排序稳定性证明:https://www.cnblogs.com/nannanITeye/archive/2013/04/11/3013737.htmlhttps://www.cnblogs.com/codingmyl...原创 2018-09-17 20:50:41 · 660 阅读 · 0 评论 -
平时上机练习的注意点(NOIP2019)
一、比赛A考前阶段1、提前15分钟入场,利用好这几分钟的时间,做好准备工作。 2、静坐调整心态,适当的深呼吸,不要紧张、坐立不安等。 3、设置编辑器IDE:i.默认路径 ii.窗口大小 iii.TAB宽度 iv.编译功能 v.重启IDE i 你喜欢的屏幕分辨率。ii 平时惯用的字体。iii 字体大小不要太小方便查错。4、准备文件:i.创建.in .out。 ii.建好模板...原创 2018-08-14 14:41:39 · 1879 阅读 · 0 评论 -
【LGR-050】洛谷8月月赛
只有比赛现场的暴力代码留念,复盘题解见具体题目T1 耗时20mins,暴力枚举,复杂度O(nQ),期望得分50#include&amp;amp;lt;iostream&amp;amp;gt;#include&amp;amp;lt;algorithm&amp;amp;gt;using namespace std;#define mod 998244353const int maxn = 1e6+10;typedef l原创 2018-08-03 10:51:31 · 809 阅读 · 0 评论 -
【USACO1.2】【Luogu1206】回文平方数 Palindromic Squares(枚举,构造函数,进制)
problem给出一个进制B求1~300内有哪些十进制数的平方,在B进制下是回文数。输出这些数的B进制表示solutionC++构造函数了解一下codes#include<iostream>#include<string>using namespace std;const string s = "0123456789ABCDEFGH...原创 2018-07-28 15:47:27 · 648 阅读 · 0 评论 -
【Luogu2393】yyy loves Maths II(浮点输入输出)
problem一行内有很多个数(<233333333),最多6位数,最多50000个数求他们的和,四舍五入保留5位小数solution1long double怎么用?#include<cstdio>using namespace std;long double sum, a;int main(){ while(scanf("%Lf",&...原创 2018-07-28 14:52:40 · 622 阅读 · 0 评论 -
【Luogu1580】yyy loves Easter_Egg I(纯字符串模拟)
problem保持队形(我们认为只要这一句内含有且恰好含有一次@,@的人和上一句话一样就算为队形)若艾特的人与第一个人不同,就算队形被打破,油炸失败。若这个人在队形被打破之前出来吱声了,或者就是他打破队形了,就算(油)炸成功了。若(油)炸成功,输出“Successful @某某某 attempt”,若队形被破坏第一行输出“Unsuccessful @某某某 attempt”,接下来一行输...原创 2018-07-28 12:03:08 · 633 阅读 · 0 评论 -
【HNOI2006】【Luogu2320】鬼谷子的钱袋(进制,玄学)
problem把一个数n进行拆分 拆分出来大于一的数两两不等,使得拆出来的数可以组成[1, n]间的所有数 求最少拆成多少个数及拆分方案。n <= 1000000000。solution记得之前bz上好像水过这题,看了题解,答案就是二进制的位数,,,当时觉得好有道理,,然后就交了,,也没看。。。不过好像,不会证明还是,,,,然后这次,,我还是全网都没找到证明,,所以继续占...原创 2018-07-28 08:33:26 · 570 阅读 · 0 评论 -
【NOIP2013】【Luogu1969】积木大赛(贪心,差分)
problem初始序列全为0,每次操作可以将一个区间全部加1。 求最少操作数使序列变为目标序列。solution我们设d[i]=a[i]-a[i-1], 显然如果我将l~r进行操作相当于将d[l]加一而将d[r+1]减一(差分)所以最少操作数就是所有正权d值的和。(把目标序列用最少次数变为全为0的空序列)codes#include&lt;iostream&gt;...原创 2018-07-27 20:41:25 · 636 阅读 · 0 评论 -
【codevs4228】小猫爬山(最优化剪枝)
problem给出n只猫及其重量ci每辆车载重不超过w用最少的车将猫运送到山底n<=18solution1、n<=18,暴搜。 2、关于答案:对于每只猫,要么用已有的缆车,要么新建一辆车。所以描述一个状态用:已运送多少只猫,已用多少量缆车,每辆已用的车载重多少。3、关于剪枝最优化剪枝:当发现cnt>=ans时,显然继续下去得不到更优的方...原创 2018-07-27 15:08:13 · 696 阅读 · 0 评论 -
【NOIP2014】【Luogu2118】比例简化(枚举)
problem给定三个数A,B,L。将A:B化简为A`:B`。满足A`,B`都小于L。A`,B`互质A`/B`>=A/BA`/B`-A/B尽可能小A,B<1e6, L < 100solution总感觉最近写水题,写的有点,傻?。。 普及组的题,照例一定和枚举有点关系。。。L<100,那就枚举L把,才两个数又正好才n^2诶,,, 普及组的代码一定...原创 2018-07-24 22:20:34 · 882 阅读 · 0 评论 -
【NOIP初赛】【Luogu1787】普及组2013(洛谷初赛题提交水AC方法了解一下)
problem没有题面,自己百度提交答案|代码(代码直接按照给定格式输出)solution先随便输出点什么交一遍。然后点下载输出数据然后复制粘贴再去提交一遍。codesA||1.5A||1.5B||1.5C||1.5D||1.5B||1.5B||1.5C||1.5A||1.5C||1.5A||1.5A||1.5D||1.5A||1.5...原创 2018-07-24 09:53:48 · 876 阅读 · 0 评论 -
【NOIP2004】【Luogu1088】火星人(枚举排列)
problem给定一个长为n的排列求他的后面的第m个排列n<1e4,m<100solutionC++STL的next_permutation了解一下,复杂度O(n)的。 全题复杂度O(mn)codes#include<iostream>#include<algorithm>using namespace std;const...原创 2018-07-24 09:46:00 · 631 阅读 · 0 评论 -
【NOIP2004】【Luogu1086】花生采摘(枚举,给定顺序的模拟)
problememm,大致这样,不过还是有点,,解释不清楚。给定一个n行m列的网格,每格有一个价值。从第一行的任意一个格子开始,每次跳到(多次转移)剩余格子中价值最大的那个并获得价值。相邻格子转移代价为1,每次转移只能到相邻四个格子。求总代价为k的情况下能获得多少价值(最后要回到第一行)关于第一行的补充:在原题的马路上新建第0行,表示这里的第一行?(雾,,solution...原创 2018-07-24 09:00:26 · 776 阅读 · 0 评论 -
【NOIP2015】【Luogu2670】扫雷游戏(搜索,字符串输入输出)
problem给定一个n行m列的网格(由’?’和’*’组成)求每个?周围(一圈的8个格子)有多少个*n,m < 100solution枚举每个点,将它周围一圈的雷数+1。 复杂度O(8n28n2 8n^2 )codes#include<iostream>#include<string>using namespace std;co...原创 2018-07-24 07:48:20 · 734 阅读 · 0 评论 -
【NOIP2014】【Luogu2141】珠心算测验(枚举,合并两数组相同元素个数)
problem给定n个不同的数ai求有多少个数,恰好等于另外两个(不同的)数之和n<100,ai<1e4solution乍一看,,好像和算法没啥关系。 结果,真的没啥关系。。。 —— 普及组专用,100的数据范围。 1、枚举每个数,对于每个数,再枚举另外两个数,复杂度O(n^3)可过。 2、枚举两个数,相加得到的新数构成一个新集合,求和原集合的交集。复杂度...原创 2018-07-23 22:20:26 · 627 阅读 · 0 评论 -
【NOIP1997】【Luogu1548】棋盘问题(枚举正方形个数)
problem给定一个N*M的棋盘求子正方形和长方形个数n,m&lt;100solution乍一看毫无思路 看了题解基本都是找规律推公式(不过如果是考场的话我觉得我应该做不到吧QwQ,平时嘛,,就更做不到了。。 数据范围才100,一副爱咋搞咋搞的样子(暴力枚举) —— 怎样确定一个长方形?两个顶点呗。。。 那就枚举两个顶点,四场循环,复杂度O(n2m2)O(n2m2)...原创 2018-07-23 21:53:23 · 922 阅读 · 0 评论 -
【NOIP2017】【Luogu3955】图书管理员(枚举,取模得后缀)
problemn个图书编号,q个需求码。(都是数字)求满足所有包含需求码后缀的图书编号的最小值。n,q&lt;1e3, 编号需求&lt;1e7solution看完题第一个想法字典树模板,,然而不会写? 再看,普及组的题?,,,范围1e3,,平方都能过吧,,怕不是个枚举。。。 于是 ——把图书编号从小到大排序对于每个需求码,从小到大遍历图书编号,判断是否为后缀(取出...原创 2018-07-23 21:36:32 · 744 阅读 · 0 评论 -
【NOIP2007】【Luogu1094】纪念品分组(贪心,乘船问题)
problem有n个人,第i个人重量ai每艘船载重为w,最多可乘2个人求能装载所有人的最少的船数solution贪心:让最重的人和最轻的人配对。 证明(反证法):令i为最轻的人, 1、i自己乘船。如果把j拉过来和他一起,那么总数不会增加(甚至可能会减少) 2、i和k一起乘。k比j轻,那么交换k和j,交换jk若成立,总船数不会增加,并且后面有更大的选择空间(决策包容性)。...原创 2018-07-23 21:11:35 · 711 阅读 · 0 评论 -
【NOIP2016】【Luogu2010】回文日期(枚举,可以计算出部分值)
problem指定两个日期(8位数字描述)问这之间有多少日期表示是回文串(包含这两个日期本身)solution枚举所有日期回文串判断codes#include&amp;amp;lt;iostream&amp;amp;gt;#include&amp;amp;lt;algorithm&amp;amp;gt;#include&amp;amp;lt;string&amp;amp原创 2018-07-23 10:39:43 · 687 阅读 · 0 评论 -
【NOIP2010】【Luogu1190】接水问题(给定顺序的模拟)
problem题意:有n个人,每个人接水wi有m个水龙头,每个水龙头每秒供水1求n个人接完水要多少时间注意:人按编号1~n接水(坑点,顺序确定)换人过程没有浪费n &lt; m 多余水龙头关闭范围:n &lt; 1e4, m &lt; 1e3, wi &lt; 100solution规则已经确定了啊,不是求最优解,就是模拟这个过程得到答案而已...原创 2018-07-23 09:43:33 · 700 阅读 · 0 评论 -
【NOIP2015】【Luogu2669】金币(模拟)
problem骑士在连续的N天里每天收到N枚金币,骑士会在之后的连续 N+1 天里,每天收到 N+1 枚金币。求骑士在前K天里一共收到了多少金币solution直接模拟死循环n天。codes#include<iostream>#include<algorithm>using namespace std;int main(){ ...原创 2018-07-07 15:23:53 · 815 阅读 · 0 评论 -
【NOIP2016】【Luogu1909】买铅笔(模拟)
problem给你3种组合,每种有x只笔和售价y元。选择1种组合,使得买n支笔的总消费最少。求总消费。solution我还是太天真了,,,第一眼看过去背包。。。 然而,题目告诉我们P老师决定只买同一种包装的铅笔!算的时候注意向上取整(不足5包要当5包算codes#include<iostream>#include<algorithm>...原创 2018-07-07 14:59:09 · 682 阅读 · 0 评论 -
【NOIP2012】【Luogu1075】质因数分解(模拟)
problem已知正整数 n 是两个不同的质数的乘积试求出两者中较大的那个质数solution2个质数,所以没必要分解质因数。直接枚举,遇到小的一个因数,拿他除一下就是答案了。codes#include<iostream>using namespace std;int main(){ int n; cin>>n; f...原创 2018-07-07 14:42:13 · 665 阅读 · 0 评论 -
【NOIP2017】【Luogu3954】成绩(模拟)
problem给你三个数A,B,C求A*0.2+B*0.3+C*0.5的值。solution这不是语法题吗我都要不好意思出来发文章了codes#include<iostream>using namespace std;int main(){ int A, B, C; cin>>A>>B>>C;...原创 2018-07-07 14:37:51 · 580 阅读 · 0 评论 -
【NOIP2010】【Luogu1179】数字统计(模拟,多位数分离)
problem请统计某个给定范围 [L, R] 的所有整数中,数字 2 出现的次数。例如2~22中2出现了6次solution枚举L~R对于i分离它的每一位,判断是否为2,累加答案。codes#include<iostream>using namespace std;int main(){ int L, R, ans = 0; c...原创 2018-07-07 14:15:42 · 677 阅读 · 0 评论 -
【NOIP2011】【Luogu1003】铺地毯
problemsolutioncodes#include<iostream>using namespace std;int a[10010], b[10010], g[10010], k[10010];int main(){ int n; cin>>n; for(int i = 1; i <= n; i++)cin>...原创 2018-06-08 22:10:16 · 796 阅读 · 0 评论