noip2000专题

[NOIP2000 提高组] 单词接龙 题解

[NOIP2000 提高组] 单词接龙 题解 [NOIP2000 提高组] 单词接龙 这题不难,简单的dfs但需要极好的题目理解能力 本蒟蒻wa哭 需要注意的一个普通的点:每个单词都最多在“龙”中出现两次,相信大家都不会wa在这上面吧。 最重要的也是最坑的两个点来了: 一、在两个单词相连时,其重合部分合为一部分,例如 beast 和 astonish,接成一条龙则变为 beastonish。 如

洛谷 P1019 [NOIP2000 提高组] 单词接龙

参考代码  #include <bits/stdc++.h> using namespace std; string s[25]; int vis[25], ans, now = 1, n; void dfs(int k) {     ans = max(ans, now);     for(int i = 1; i <= n; i++)     if(vis[i] < 2)

NOIp2000提高组-单词接龙(dfs)

题目链接:https://www.luogu.org/problemnew/show/P1019 思路:首先要知道两个单词合并时,合并部分取的是最小重叠部分,相邻的两部分不能存在包含关系就是说如果存在包含关系,就不能标记为使用过,每个单词最多出现两次。搜索的时候开个vis标记数组,用来标记每个单词使用的次数,从开头字母开始搜索,两层for,第一层for搜索每一个单词,第二层for是判断我们搜索的

模拟界顶端——P1022 [NOIP2000 普及组] 计算器的改良

不吃不喝一个小时,终于是暴力出来了…… PS:本人是个菜鸡,大部分操作用STL完成,也没有去利用什么数学…… 正文:这道题虽然只一个简单模拟(题目很好理解,就是解一个一元一次方程),但是,比起我那刷过的算法题的很坑的,都没有这题恶心) 为大家献上题面 计算器的改良 Description NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司

动态规划(NOIP2000 提高组 方格取数)

原题链接 题目描述 设有N×N 的方格图(N ≤ 9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 0。如下图所示(见样例):某人从图的左上角的A点出发,可以向下行走,也可以向右走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从 A点到 B点共走两次,试找出 2条这样的路径,使得取得的数之和为最大。 输入格式 输入的第

NOIP 提高组 初赛 三、问题求解 习题集(二)NOIP2000-NOIP2005

NOIP 提高组 初赛 三、问题求解 习题集(二)NOIP2000-NOIP2005 1.第六届(NOIP2000) 问题: 1.已知,按中序遍历二叉树的结果为:abc 问:有多少种不同形态的二叉树可以得到这一遍历结果,并画出这些二叉树。   1.答:有       种不同形态的二叉树可以得到这一遍历结果;          (1分)       可画出的这些二叉树为:

NOIP2000提高组第二轮T2:乌龟棋

题目链接 [NOIP2010 提高组] 乌龟棋 题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 题目描述 乌龟棋的棋盘是一行 N N N 个格子,每个格子上一个分数(非负整数)。棋盘第 1 1 1 格是唯一的起点,第 N N N 格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。 乌龟棋中 M M M 张爬行卡片,分成 4 4 4 种不同的类型( M M

P1022 [NOIP2000 普及组] 计算器的改良 题解

文章目录 题目背景题目描述输入格式输出格式样例样例输入样例输出 思路及部分实现完整代码 题目背景 NCL 是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手 ZL 先生。 题目描述 为了很好的完成这个任务,ZL 先生首先研究了一些一元一次方程的实例: