noip历年试题

noip2018

铺设道路

货币系统

赛道修建

一眼贪心。随便实现。

旅行

环套树枚举删除环上哪条边。

填数游戏

找规律,这谁会啊。

保卫王国

动态Dp,去问这位神仙

noip2017

小凯的疑惑

就是数论结论题,当然也可以找规律。

时间复杂度

原理都懂,大模拟。

逛公园

SPFA还没死.jpg

奶酪

宝藏

状压Dp。

列队

我太懒了直接Splay模拟。

noip2016

玩具谜题

天天爱跑步

考虑一条链怎么做(随便做),然后树上同理。

换教室

组合数问题

蚯蚓

拿两个队列来归并。

愤怒的小鸟

noip2015

神奇的幻方

信息传递

斗地主

跳石头

子串

运输计划

二分,在树上前缀和标记。

noip2014

生活大爆炸版石头剪刀布

联合权值

飞扬的小鸟

无线网络发射器选址

寻找道路

解方程

原文地址:https://www.cnblogs.com/wanghaoyu/p/NOIPPast.html

时间: 2024-08-30 15:57:45

noip历年试题的相关文章

华为历年试题(掷骰子游戏 7)

问题描述: 在掷骰子游戏中,会根据所掷数字在地图中前进几步,前进完成后需要根据当前地图位置所示的障碍进行相应操作,其中障碍表示: 1)  9:无障碍 2)  1:停掷一轮,即下轮所掷数字无效: 3)  2:后退两步,如果已经到起点不再后退: 4)  3:奖励前进一步 如果在游戏过程中,已经走到地图终点,则游戏结束.根据输入的地图数组,和5个骰子数的数组,返回最终玩家前进了多少步. 要求实现函数: void dice(int map_len, int* map, int* dice_val, in

华为历年试题(10约瑟夫环)

约瑟夫环形问题 有30人将其编号,从头开始1,2,3数数,每到3将其删除,一共删去15个数.输出被删去的15个数 #include<iostream> using namespace std; struct LinkList { int val; LinkList* next; LinkList(int a):val(a),next(NULL){} }; LinkList *CreatList(int n) { LinkList *p = new LinkList(1); LinkList *

华为历年试题(数组8)

有一个数组a[N]如a[10]={0,1,2,3,4,5,6,7,8,9} 每隔两个数删除一个数,如0,1,2(删除),3,4,5(删除),6,7,8(删除),9, 到数组尾部回到数组头部继续删除,要求编写一个函数实现实现上述操作, 返回最后一个数的数组下标. 函数接口:int getLast(int iLen) 参数:数组初始元素个数iLen #include<iostream> using namespace std; struct LinkP{ int val; LinkP *next;

华为历年试题(5)

将一个字符串的元音字母复制到另一个字符串,并排序(30分) 问题描述:有一字符串,里面可能包含英文字母(大写.小写).数字.特殊字符,现在需要实现一函数, 将此字符串中的元音字母挑选出来,存入另一个字符串中,并对字符串中的字母进行从小到大的排序 (小写的元音字母在前,大写的元音字母在后,依次有序). 说明:1.  元音字母是a,e,i,o,u,A,E,I,O,U. 2.  筛选出来的元音字母,不需要剔重:最终输出的字符串,小写元音字母排在前面,大写元音字母排在后面,依次有序. 要求实现函数:vo

华为历年试题(手机号合法性判断4)

手机号码合法性判断 问题描述:我国大陆运营商的手机号码标准格式为: 国家码+手机号码,例如:8613912345678. 特点如下:1.  长度13位: 2.  以86的国家码打头: 3.  手机号码的每一位都是数字.请实现手机号码合法性判断的函数 (注:考生无需关注手机号码的真实性, 也就是说诸如86123123456789这样的手机号码,我们也认为是合法的), 要求:1)  如果手机号码合法,返回0: 2)  如果手机号码长度不合法,返回1 3)如果手机号码中包含非数字的字符,返回2: 4)

华为历年试题(9字符串计算器)

问题描述: 在软件园开饭店的小明最近很郁闷,经常在进行账目核查时出错,每次的计算结果总是有偏差.小王知道后打算为小明解决这个问题,经过调查发现,问题出现在计算器上,当前的计算器计算方法大部分是:输入数据,输入运算符,再输入数据,立刻给出计算结果,然后不断循环.当计算结束时,如果出现偏差或者数据,无法回顾查看到底是哪一步出错,如果需要再次核查,还需要再全部输入一次,非常耽误时间.小王打算帮老板设计一种新的计算器,能够支持表达式的计算,由于是第一个版本,只需要支持整数的“+,-,*”和“( )”即可

华为历年试题(单词统计3)

单词统计 题目描述: 输入一段英文文本,用程序统计出现频率最高和最低的两个单词; 英文文本中仅出现这四类字符:空格( ).英文逗号(,).英文句号(.).英文大小写字母(a-z.A-Z) 单词之间的分隔符仅考虑这三种:空格( ).英文逗号(,).英文句号(.); 仅大小写不同的单词算同一个单词: 如果两个单词出现次数相同,则在文本中首次出现的单词优先返回. 返回的单词统一用小写字母返回 例如: 输入字符串“Hello world, i said hello world to the world”

华为历年试题(字符串1)

1.字符串问题 问题描述: 把一个字符串中的除大写字母.小写字母和数字字符之外的其他字符都去掉,输出新字符串. 要求实现函数: void my_string(char* input, char* output) [输入]  char* input,输入的字符串 [输出]  char* output, 输出的字符串 [返回]  无 示例 输入:input = “A*(BC&De+_fg/*” 输出:output = “ABCDefg” 输入:input = “aB+_9” 输出:output =

华为历年试题(字符串2)

题目描述: 输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母, 若原始大写字母为V-Z, 则转换为对应小写字母的值减21. 其他字符不变,输出转换后的字符串. 例如,对于字母A,则转换为小写字母f:若形参是字母W,则转换为小写字母b 要求实现函数: void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr); [输入] pInputStr:  输入字符串 lInputLen:  输入