首页 > TAG信息列表 > NOIP2002
[NOIP2002 提高组] 均分纸牌
题目链接:https://www.luogu.com.cn/problem/P1031 试题分析:首先分析样例: 输入样例后,我们要先求出平均值,进而求出与平均值的差值: 我们能够得到三次移动:1. 7向右-4变为3;2. 3向左-2变为1;3. 1向左-1变为0。 由于模拟这种方法并不是非常容易,所以我们换一种思路: 我1008 [NOIP2002]过河卒 线性DP 动态规划
链接:https://ac.nowcoder.com/acm/contest/24213/1008来源:牛客网 题目描述 如图,A 点有一个过河卒,需要走到目标 B 点。卒行走规则:可以向下、或者向右。同时在棋盘上的任一点有一个对方的马(如上图的C点),该马所在的点和所有跳跃一步可达的点称为对P1002 [NOIP2002 普及组] 过河卒
P1002 [NOIP2002 普及组] 过河卒 一道入门dp //二维数组dp #include<bits/stdc++.h> #define MAXN 22 using namespace std; long long f[MAXN][MAXN]; int ctrl[MAXN][MAXN],n,m,hx,hy; int d[9][2]={{0,0},{1,2},{2,1},{2,-1},{1,-2},{-1,-2},{-2,-1},{-2,1},{-1,2}};//相对控制洛谷 P1002 [NOIP2002 普及组] 过河卒
题目链接 https://www.luogu.com.cn/problem/P1002 一道入门的dp问题。 初始位置为(0,0),有点儿麻烦,改为(1,1),所以所有坐标的位置全部+1。 卒到达的每一个位置都是从此位置的上方和左方走过来的。那么假设卒从(1,1)到达此点的左方点的路径有x条,到达此点的上方点的路径有y条,则P1036 [NOIP2002 普及组] 选数
// Problem: P1036 [NOIP2002 普及组] 选数 // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P1036 // Memory Limit: 125 MB // Time Limit: 1000 ms // User: Pannnn #include <bits/stdc++.h> using namespace std; /* 一共n个数,每个数有两种状态:使用和不使P1036 [NOIP2002 普及组] 选数
只能说是用递归dfs,感觉这个题目在暴力枚举中算是一个偏难的题了,我没怎么做过这类题,见识了不降原则之后只能说自己受教了 对于本题,所谓不降原则就是 : 在6里面随便选5个数,那么选法都是什么呢? 12345 12346 前两个还不会弄混 然后很可能就乱了 少点数可能不会乱 但是多了就不好整了 比P1002 [NOIP2002 普及组] 过河卒
题目描述 棋盘上 AA 点有一个过河卒,需要走到目标 BB 点。卒行走的规则:可以向下、或者向右。同时在棋盘上 CC 点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。 棋盘用坐标表示,AA 点 (0, 0)(0,0)、BB 点 (n, m)(n,m)P1036 [NOIP2002 普及组] 选数
#include <stdio.h> int n; int arr[40]; int count=0; int isprime(int n) { int temp=1; int i; for(i=2;i*i<=n;i++) { if(n%i==0) { temp=0; } } return temp; } void Find(int sum,int j,int k)//从数组坐标为j及以后的范围里面选k个数 { int i; if(k==0P1036 [NOIP2002 普及组] 选数
题目描述 已知 n 个整数 x1,x2,⋯,xn,以及 1 个整数 k(k<n)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34 现在,要求你计算出和为素数共有多少种。P1037 [NOIP2002 普及组] 产生数
题目描述 给出一个整数 n(n<10^30)和 k 个变换规则(k≤15)。 规则: 一位数可变换成另一个一位数。规则的右部不能为零。 例如:n=234。有规则(k=2): 2->53->6 上面的整数 234 经过变换后可能产生出的整数为(包括原数): 234534264564 共 4 种不同的产生数。 现在给出一个整数 n 和 k 个规则。【NOIP2002】【Luogu1032】字串变换
problem solution codes /思路就是对于每个状态下的字符串,枚举可以替换的部分替换作为下一个新的状态。 #include<iostream> #include<queue> #include<string> #include<map> using namespace std; int n = 1, flag; string a, b, ai[1010], bi[1010]; queue<string>q; map<st【NOIP2002】【Luogu1037】产生数(高精乘低精,DFS暴力搜索)
problem 给定一个整数n和k个变换规则(一位数可变换成另一个一位数) 经过任意次的变换( 0 次或多次),能产生出多少个不同整数 n < 1e30, k <= 15 例:n=234 。有规则( k=2 ):22 -> 55 且 33 -> 66则能产生234、534、264、564四种数 solution 一共有15种操作,说明一个数能变成多个不同的数。1314:【例3.6】过河卒(Noip2002)
1314:【例3.6】过河卒(Noip2002)(递推法/动态规划法) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 18186 通过数: 7756 目录1314:【例3.6】过河卒(Noip2002)(递推法/动态规划法)【题目描述】【输入】【输出】【输入样例】【输出样例】【题解】【超时的DFS代码参考】【正确答案【NOIP2002提高组】自由落体
题目描述: 在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 1,2,⋯,n−1。在地面上有一个小车(长为 L,高为 K,距原点距离为 S1)。已知小球下落距离计算公式为 d=0.5×g×(t2),其中 g=10,t 为下落时间。地面上的小车以速度 V 前进。 如下图: 小车与所有小球同时开始运动,当1320:【例6.2】均分纸牌(Noip2002)
均分纸牌 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 const int N=105; 5 int t[N]; 6 int main(){ 7 int n,sum=0,ans=0; 8 cin>>n; 9 for(int i=1;i<=n;i++){ 10 cin>>t[i]; 11 sum+题解 P1032 [NOIP2002 提高组] 字串变换
题目描述 Link 给定一些规则(不多于 \(6\) 个),试求把字符串 \(A\) 变为字符串 \(B\) 最少需要变换几次? 规则:对于第 \(i\) 个规则 \((a_i,b_i)\) ,若 \(a_i\) 是一个字符串的子串,则可以把这个字符串中的一个 \(a_i\) 变成 \(b_i\) 。 字符串长度不多于 \(20\) 。 Solution 一种比较直[NOIP2002 提高组] 均分纸牌
【问题描述】 有 n 堆纸牌,编号分别为 1,2,…,n。每堆上有若干张,但纸牌总数必为 n 的倍数。可以在任一堆上取若于张纸牌,然后移动。 移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 n 的堆上取的纸牌,只能移到编号为 n-1 的堆上;其他堆上取的纸牌,可以移到1314:过河卒(Noip2002)
【题目描述】 棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图3-1中的C点和P1,……,P8,卒不能通过对方马的控制点。棋盘用坐标表示,A点(0,0)、B点(nNOIP2002提高组题解
\(D1T1\) 均分纸牌 \((OK)\) \(D1T2\) 字串变换 \((OK)\) \(D1T3\) 自由落体 \((OK)\) \(D1T4\) 矩形覆盖 \((OK)\) 这年的题其实题目很好,但是数据点又少还水. \(T1\)贪心模拟入门题.最终每一堆纸牌的数量是已知的,即\(ave=\frac{sum}{n}\).那么把每一堆纸牌数量减去\(ave\)后,如洛谷P1031 [NOIP2002]均分纸牌
Question 分析:题意中说扑克牌总数是n的整数倍实际上就是在暗示,我们可以先把均分后每堆纸牌的数量算出来。 "...."告诉我们只能相邻两个之间操作,但一定要少的问前一个要,多的给下一个吗,不需要,因为你问 上一个要事实上也上上一个绕了一圈给你送过来的,所以我们就一堆一堆操作,多了少了1314:【例3.6】过河卒(Noip2002)
传送门: 【题目描述】 棋盘上A点有一个过河卒,需要走到目标B点。卒行走的规则:可以向下、或者向右。同时在棋盘上的某一点有一个对方的马(如C点),该马所在的点和所有跳跃一步可达的点称为对方马的控制点,如图3-1中的C点和P1,……,P8,卒不能通过对方马的控制点。棋盘用坐标表示,A点(0,0)