首页 > TAG信息列表 > NOIP2001
[NOIP2001 提高组] 一元三次方程求解
题目链接:https://www.luogu.com.cn/problem/P1024 试题分析: 三个答案都在[-100,100]范围内,两个根的差的绝对值>=1,保证了每一个大小为1的区间里至多有1个解,也就是说当区间的两个端点的函数值异号时区间内一定有一个解,同号时一定没有解。那么我们可以枚举互相不重叠的每一个长度为1[NOIP2001 提高组] 一元三次方程求解
以0.01精度在[-100,100]枚举根。 #include<iostream> #include<iomanip> int main() { double a,b,c,d; std::cin>>a>>b>>c>>d; for(double x=-100.0;x<=100.0;x+=0.01) { double f=a*x*x*x+b*x*x+c*x+d; if1026 [NOIP2001]Car的旅行路线 标点建图 勾股定理 floyd
链接:https://ac.nowcoder.com/acm/contest/26077/1026来源:牛客网 题目描述 又到暑假了,住在城市A的Car想和朋友一起去城市B旅游。她知道每个城市都有四个飞机场,分别位于一个矩形的四个顶点上,同一个城市中两个机场之间有一条笔直的高速铁路,第I个城市中[NOIP2001 普及组] 求先序排列
试题分析:题目中提及了树的先序,中序,后序排列,所以我们需要先知道这三种排列是什么意思。 二叉树的3种(深度优先)排列: 先序排列,“根左右”。即对于二叉树的每一个子树,先访问其根,再分别遍历其左右儿子(子树)。 中序排列,“左根右”。即对于二叉树的每一个子树,先遍历其左儿子,再访问其根,然后1057 [NOIP2001]统计单词个数 划分区间 线性DP
链接:https://ac.nowcoder.com/acm/problem/16696来源:牛客网 题目描述 给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份( 1 < k ≤ 40 ),且每份中包含的单词个数NC16692 [NOIP2001]求先序排列
NC16692 [NOIP2001]求先序排列 题目 题目描述 给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度 ≤ 8)。 输入描述 2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。 输出描述 1行,表示一棵二叉树的先序。 示例1 输入 BADC BDCA洛谷 P1028 [NOIP2001 普及组] 数的计算
题目链接 https://www.luogu.com.cn/problem/P1028 好吧我承认,真的很水...... 数学思想+递推,浅浅推导一下就出来了: a[1]=1 a[2]=2 a[3]=2 a[4]=4 a[5]=4 a[6]=6 a[7]=6 a[8]=10 a[9]=10 a[10]=14 a[11]=14 …… 当i为偶数时:a[i]=a[i-1]+a[i/2] 当i为奇数时:a[i]=a[i-1]P1028 [NOIP2001 普及组] 数的计算
题目描述 我们要求找出具有下列性质数的个数(包含输入的正整数 nn)。 先输入一个正整数 nn(n \le 1000n≤1000),然后对此正整数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个正整数,但该正整数不能超过原数的一半; 加上数后,继续按此规则进行处理,直到不能再加正P1024 [NOIP2001 提高组] 一元三次方程求解
题目描述 有形如:a x^3 + b x^2 + c x + d = 0 这样的一个一元三次方程。给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在 −100 至 100 之间),且根与根之差的绝对值 ≥1。要求由小到大依次在同一行输出这三个实根(根与根之间留有空格),并精确到小数【P1025 [NOIP2001 提高组] 数的划分】题解
题目链接 题目 将整数 \(n\) 分成 \(k\) 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:\(n=7\),\(k=3\),下面三种分法被认为是相同的。 \(1,1,5\); \(1,5,1\); \(5,1,1\). 问有多少种不同的分法。 思路 首先我们可以打出一个暴力。然而为了防止重复,我们可以规定每次枚举出的【NOIP2001】【Luogu1026】统计单词个数
problem solution codes //just for test2 #include<iostream> #include<algorithm> #include<cstring> #include<string> using namespace std; int n, m, x, d[210], f[210][50]; string s, w[20]; void pre(){ memset(d, 0x3f, sizeof d);P1029 [NOIP2001 普及组] 最大公约数和最小公倍数问题(欧几里得)
欧几里得,gcdlcm=xy的应用 #include<cstdio> #include<iostream> using namespace std; int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b); } int cnt; int main(){ int x,y; scanf("%d%d",&x,&y); for(int i=x;i<=y;i++){ intP1049 [NOIP2001 普及组] 装箱问题 题解
用到01背包+递归+深搜 #include <bits/stdc++.h> using namespace std; int ans = INT_MAX,v, n, a[10005], l;//设answer(ans)大点,以防剩下的都>answer void zx(int dep, int r) { if(r < 0) { return; } if(dep > n)//都选完了 { ans = min(ans, r);//如果当前结果小于目P1026 [NOIP2001 提高组] 统计单词个数
题目描述 给出一个长度不超过 200200 的由小写英文字母组成的字母串(该字串以每行 2020 个字母的方式输入,且保证每行一定为 2020 个)。要求将此字母串分成 kk 份,且每份中包含的单词个数加起来总数最大。 每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用1316:【例4.6】数的计数(Noip2001)
数的计数 1 #include<iostream> 2 using namespace std; 3 4 int ans; 5 void cnt(int ori){ 6 ans++; 7 for(int i=1;i<=ori/2;i++) 8 cnt(i); 9 } 10 int main(){ 11 int n; 12 cin>>n; 13 cnt(n); 14 cout<<aP1030 [NOIP2001 普及组] 求先序排列题解
题目传送门 一、已知后序+中序,求前序 总结出三个重要的性质: (1)给出一个后序遍历的字符串,那么尾字母一定是子树的根。 (2)另外再给出同样子树的中序遍历字符串,那么通过上面查找到的尾字母在中序遍历字符串中找到它,它的左边就是左子树,右边就是右子树。 (3)利用中序字符串左子树的P1025 [NOIP2001 提高组] 数的划分
啊啦啦,时隔许久,我终于又开始了我的AC之路,毕竟再不写写代码我就废了,洛谷yyds ----------------------(分割线)------------------------- 题目 将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1. 问[NOIP2001 提高组] 数的划分
题目描述 将整数nn分成kk份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:n=7n=7,k=3k=3,下面三种分法被认为是相同的。 1,1,51,1,5; 1,5,11,5,1; 5,1,15,1,1. 问有多少种不同的分法。 输入格式 n,kn,k (6<n \le 2006<n≤200,2 \le k \le 62≤k≤6) 输出格式 11个整数,即洛谷 P1025 [NOIP2001 提高组] 数的划分
题目描述 将整数 n n n 分成 k k k 份,且每份不能为空,任意两个方案不相同(不考虑顺序)。 例如:P1028 [NOIP2001 普及组] 数的计算
题目描述 我们要求找出具有下列性质数的个数(包含输入的正整数 n)。 先输入一个正整数 n(n≤1000),然后对此正整数按照如下方法进行处理: 1.不作任何处理; 2.在它的左边加上一个正整数,但该正整数不能超过原数的一半; 3.加上数后,继续按此规则进行处理,直到不能再加正整数为止P1027 [NOIP2001 提高组] Car 的旅行路线
P1027 [NOIP2001 提高组] Car 的旅行路线(计算几何 + Floyed最短路) 大致解题思路: 1、每个城市有四个点,N 个城市有4N个点,我们对这4N个点进行floyed,这就是我们最终的结果 2、根据三个点判断出第四个点的坐标: 3、通过坐标求距离: 4、因为每个点到其他点的旅行方式不一样,所以我们分[NOIP2001 普及组] 数的计算
题目链接 题目描述 我们要求找出具有下列性质数的个数(包含输入的正整数 n)。 先输入一个正整数 n(n≤1000),然后对此正整数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个正整数,但该正整数不能超过原数的一半; 加上数后,继续按此规则进行处理,直到不能再加正整数为NOIp2001 数的计算
【递推||回溯】NOIp2001普及组 数的计算 题目链接 第一次看竟然没有思路,看来还是我太菜了 这题可以用递归(回溯)做,也可以用递推做。但是思路都是一样的。这里的重点是当你在左边填了一个数后,下一次填数是以你填的这个数为基础的,而不是之前的原数。 现在,对于一个数n,我NOIP2001(或之前)装箱问题
装箱问题 题目描述 有一个箱子容量为VV(正整数,0 \le V \le 200000≤V≤20000),同时有nn个物品(0<n \le 300<n≤30,每个物品有一个体积(正整数)。 要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。 输入格式 11个整数,表示箱子容量 11个整数,表示有nn个物品 接下来nn行,