首页 > TAG信息列表 > 普及
[NOIP1998 普及组] 三连击
生成九位一到九的全排列,按题目分割、过滤 #include<iostream> #include<vector> #include<algorithm> bool vis[20]; int queue[50]; int answers[500]; int cnt=0; void search(int x) { for(int i=1;i<=9;i++)//每位数由1到9中的一个 { if(!vis[i]) {GDOI绝望记——人生第一次省选普及
时光匆匆,如白驹过隙。转眼之间,我一在OI之路上走了2年半了..岁月不饶人,我却在不经意间饶了岁月。自己到底是不是不如别人,这,是取决于自己的心态吧# Preface人生中第一次去深圳(应该是吧...),毕竟是第一年GDIO普及组,花800过去不过是玩了玩,不过晚上的时候,风景还是挺好的(晚上6点钟就放了,两[2010年NOIP普及组] 接水问题
学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的供水量相等,均为 1。 现在有 n 名同学准备接水,他们的初始接水顺序已经确定。将这些同学按接水顺序从1到n编号,i 号同学的接水量为wi。接水开始时,1到m号同学各占一个水龙头,并同时打开水龙头接水。当其中某[2010年NOIP普及组] 接水问题
[2010年NOIP普及组] 接水问题 分析:根据题意,要输出所用时间最长的那个人(包括那个人在等待的时间),分为两种情况,第一种是水龙头多于要打水的人数,这种情况下就可以直接写一个比较函数输出最大的人打水所用的时间,另一种是水龙头少于要打水的人,这种情况就要写一个函数比较哪个打水的人用[2001年NOIP普及组] 数的计算
我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n<=1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。 输入 输入一个自然[NOIP2004 普及组] FBI 树
试题分析:题目意思是给出一个数字串,全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。在给定规则的基础上建树,并输出建完的树的后序排列。所以我们要用递归来建树,这里我们可以将输出和建树过程集成在一起。只需将代码放在递归调用之后就可以了。判断时,可以用B(初[NOIP2001 普及组] 求先序排列
试题分析:题目中提及了树的先序,中序,后序排列,所以我们需要先知道这三种排列是什么意思。 二叉树的3种(深度优先)排列: 先序排列,“根左右”。即对于二叉树的每一个子树,先访问其根,再分别遍历其左右儿子(子树)。 中序排列,“左根右”。即对于二叉树的每一个子树,先遍历其左儿子,再访问其根,然后[NOIP1998 普及组] 三连击
[NOIP1998 普及组] 三连击 思路:本题可以运用暴力枚举法,因为题目中有9个数字,所组成的3个三位数a,b,c的各个位数上的数的乘积与这已知的9个数的乘积相等,并且b=2*a,c=3*a。从能组成的最小三位数开始循坏,找满足条件的数即可。 代码如下: #include<iostream> #include<cstring> using nam[NOIP1998 普及组] 三连击
试题分析:题目要求三个三位数是由1~9中分成三组组成的,也就是说三个数中每个位数上的数字都不相同,然后三个三位数要符合1:2:3的比例关系,所以我们可以直接将i看做第1个三位数,剩下的两个分别*2,*3,这样就满足了1:2:3,然后我们将每个数字都分离出来,并进行比较,判断(这里的三位数组成中不可以带有[2011年NOIP普及组] 瑞士轮
[2011年NOIP普及组] 瑞士轮 分析:根据题意,定义结构体,将选手的序号,初始分数,实力值联系起来,在最开始先给数据排个序,跟据题意手打排序。在此我们要注意一个问题,我们已经按照分数排成有序的,那么前面的人分数一定比后面的人高,赢的人都+1,所以每次先赢的人总会在后赢的人前面,输的相同,因此[2011年NOIP普及组] 瑞士轮
试题分析:这道题目考察的是排序与模拟,题目要求明确,我们只需要模拟出来即可,我们需要对分数进行排序,而sort的时间复杂度为o(logn),所以会超时,所以我们选择归并,归并的时间复杂度为o(n),这里我用了<algorithm>中自带的merge函数。 代码如下:[2011年NOIP普及组] 瑞士轮
首先归并排序,先比较,放入胜者组和败者组,去掉之前的分离,直接继续归并 #include<bits/stdc++.h>using namespace std; int n,q,bsl[2000001],bxh[2000001],bfs[2000001],ll,rr,rrr;int i,j,ij,ii;struct a{ int xh; int fs; int sl;}a[200002],w[100002],f[100002];void ef(int l,int[2010年NOIP普及组] 数字统计
请统计某个给定范围[L, R]的所有整数中,数字2出现的次数。比如在给定范围[2, 22],数字2在数2中出现了1次,在数12中出现了1次,在数20中出现了1次,在数21中出现了1次,在数22中出现了2次,所以数字2在该范围内一共出现了6次。 输入 输入共一行,为两个正整数L和R,之间用一个空格隔开。 输出[2010年NOIP普及组] 数字统计
[2010年NOIP普及组] 数字统计题目大意是在[l,r]这个区间中,统计所有数字的每一位上有多少2。很明显,这个题目要用到数字拆分。代码如下:int a=i;while(a!=0){int b;b=a%10;//单独提出最后一位if(b==2)n++;//统计a=(a-b)/10;//删除最后一位,让倒数第二位成为最后一位,重复上述过程}总代[2010年NOIP普及组] 数字统计
用分离法得出每位上的2 #include<bits/stdc++.h>using namespace std;int main(){ int l,i,r,s=0,j; cin>>l>>r; for(i=l;i<=r;i++){ j=i; while(j>0){ if(j%10==2){ s++; } j=j/10; } } cout<<s;}2010年NOIP普及组 数字统计
题目描述:题目要求统计l-r之间“2”出现的次数,其实也就是要求将l-r之间每个数字进行分离,寻找2,若出现,则累加。 代码如下:[2010年NOIP普及组] 数字统计
[2010年NOIP普及组] 数字统计 思路:既然要统计某个给定范围[L, R]的所有整数中,数字2出现的次数,就可以将这个范围中的数的所有位数取出来。当有2时,计数器+1。 注意:取余后不要忘记原数/10。 代码如下: #include<iostream> #include<algorithm> #include<cstring> using namespace std;模拟题(普及-)汇总
$ pj- $ 难度其实大部分直接枚举暴力就行了。 不过也有些题有坑,今天只讲坑人的地方,其它的不讲。反正你们也会 进入正题 珠心算测验 P2141 题意:给你些数,问其中有多少个数可以表示成其他两个数之和。 这里我们要注意,一个数只能算一遍。 刚开始的时候,我就失误在了这里,即: 1000 500 500【LGR-113】洛谷 7 月普及组月赛 & JROI R6 解题报告
目录【LGR-113】洛谷 7 月普及组月赛 & JROI R6ABCD 【LGR-113】洛谷 7 月普及组月赛 & JROI R6 因为太菜了所以只能做做普及组的题目这档事。 但正常的普及组比赛肯定也不会出现这么多序列的题吧。我还不会做(悲)。 传送门 A 本题仅需要知道二个性质:相邻两个数的最大公约数为 \(1\)P1308 [NOIP2011 普及组] 统计单词数[普及-]
https://www.luogu.com.cn/problem/P1308涉及知识点:模拟,字符串橙色题 思路?在代码里 #include<bits/stdc++.h> using namespace std; string word,sen; int ans,j,ans1; int main() { getline(cin,word); //先输入两个字符串 getline(cin,sen); int lena=word.siGG 的 普及组 试题
1.找gg 这个就是直接用字符串做就好了,注意对大小写不敏感,所以要先把所有的大写字母换成小写的(或者倒过来也行)。 时间复杂度是 \(O(n)\) 的。 代码: #include <iostream> #include <cstring> using namespace std ; int n , p[200005] , tot ; char a[200005] ; int main ( ) { cP1808 单词分类[普及-]
https://www.luogu.com.cn/problem/P1808涉及知识点:字符串,排序 橙色题 思路: 一.读入n和n个字符串 二.边读入字符串边将这个字符串内部从小到大排序 三.再将这n个字符串从小到大进行排序 四.因为这n个字符串从小到大排序,全部组成这个字符串的字母的数量相等的字符串就都应是P1138 第 k 小整数[普及-]
https://www.luogu.com.cn/problem/P1138涉及知识点:桶排序,模拟,去重橙色题 思路: 一.边输入这n个数边将a[i]放进桶里 b[a[i]]=1; 二.去重 三.输出 四.若无解,则输出 NO RESULT。 代码: #include<bits/stdc++.h> using namespace std; int main(){ int n,k,a[100005],t安全知识普及系统2
今天完成了编写了个人页面的内容,并将登录的逻辑实现了 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmln安全知识普及系统4
第二阶段刚开始,在使用mysql并没有成功后,先行搭建了视频跳转的页面。 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"