信息学

CSP-SJ 信息学一本通1317:【例5.2】组合的输出

此生再无相见时 提交于 2020-01-12 06:42:44
CSP-S/J信息学资料 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 12260 通过数: 5946 【题目描述】 排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数1,2,…,n,从中任取r个数。 现要求你用递归的方法输出所有组合。 例如n=5,r=3,所有组合为: 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5 【输入】 一行两个自然数n、r(1<n<21,1≤r≤n)。 【输出】 所有的组合,每一个组合占一行且其中的元素按由小到大的顺序排列,每个元素占三个字符的位置,所有的组合也按字典顺序。 【输入样例】 5 3 【输出样例】 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 1 4 5 2 3 4 2 3 5 2 4 5 3 4 5 【来源】 No 代码如下: # include <iostream> # include <cstdio> # include <cstring> # define N 22 using namespace std ; int n , r ; int a [ N ] = { 1 } ; bool vis [ N ] ; void dfs ( int k ) { int

计蒜客信息学普及组赛前模拟6 硬币

∥☆過路亽.° 提交于 2020-01-01 20:36:17
题目描述 小 B 面前的桌子上有 n 个硬币,0 表示正面,1 表示反面,只有当这 n 个硬币都是 0 朝上的时候这个他才能把这些钱收起来。现在他可以一个这样的操作来翻硬币,他选择一个 x,把 1 到 x 位置上的硬币都翻面,他现在想知道最少需要多少次操作能使所有硬币正面朝上。 输入格式 第一行一个整数表示 n 第二行一个长度为 n 的字符串 s,其中 s 的第 i个字符 si表示硬币 i 的状态 输出格式 输出最小操作次数 数据范围 对于 30%的数据, 1≤n≤20 对于另外 20的数据, si全部相等 对于 100% 的数据, 1≤n≤10 6 思路 目标状态:0000……或1111…… 见到一次不同翻一次硬币。 代码 : # include <bits/stdc++.h> using namespace std ; int a [ 1000005 ] ; int main ( ) { //freopen(".in", "r", stdin); //freopen(".out", "w", stdout); int n , ans = 0 ; int last = 1 ; scanf ( "%d" , & n ) ; for ( int i = 1 ; i <= n ; ++ i ) { char x ; cin >> x ; a [ i ] = x - '0' ; }

ACM中国国家集训队论文集目录(1999-2009)

匿名 (未验证) 提交于 2019-12-03 00:21:02
国家集训队1999论文集 陈宏:《数据结构的选择与算法效率――从IOI98试题PICTURE谈起》 来煜坤:《把握本质,灵活运用――动态规划的深入探讨》 齐鑫:《搜索方法中的剪枝优化》 邵铮:《数学模型的建立、比较和应用》 石润婷:《隐蔽化、多维化、开放化――论当今信息学竞赛中数学建模的灵活性》 杨帆:《准确性、全面性、美观性――测试数据设计中的三要素》 周咏基:《论随机化算法的原理与设计》 国家集训队2000论文集 方奇:《动态规划》 高寒蕊:《递推关系的建立及在信息学竞赛中的应用》 郭一:《数学模型及其在信息学竞赛中的应用》 江鹏:《探索构造法解题模式》 李刚:《动态规划的深入讨论》 骆骥:《数学模型的建立和选择》 施遥:《人工智能在围棋程序中的应用》 肖洲:《数据结构的在程序设计中的应用》 谢婧:《规模化问题的解题策略》 徐串:《论程序的调试技巧》 徐静:《图论模型的建立与转化》 杨江明:《论数学策略在信息学问题中的应用》 杨培:《非最优化算法初探》 张辰:《动态规划的特点及其应用》 张力:《类比思想在解题中的应用》 张一飞:《冗繁削尽留清瘦――浅谈信息的充分利用》 国家集训队2001论文集 符文杰:《Pólya原理及其应用》 高寒蕊:《从圆桌问题谈数据结构的综合运用》 高岳:《中等硬度解题报告》 江鹏:《从一道题目的解法试谈网络流的构造与算法》 李益明:《计算几何》 李源:

信息学一本通 T1003 对齐输出

匿名 (未验证) 提交于 2019-12-02 23:34:01
NOIP信息学奥赛资料下载 【题目描述】 读入三个整数,按每个整数占8个字符的宽度,右对齐输出它们,按照格式要求依次输出三个整数,之间以一个空格分开。 【输入】 只有一行,按照格式要求依次输出三个整数,之间以一个空格分开。 【输出】 只有一行,一个整数,即输入的第二个整数。 【输入样例】 123456789 0 -1 【输出样例】 123456789 0 -1 【代码如下】 #include <iostream> #include <cstdio> using namespace std ; int main () { int a , b , c ; cin >> a >> b >> c ; printf ( "%8d %8d %8d" , a , b , c ); return 0 ; } 转载请标明出处: 信息学一本通 T1003 对齐输出 文章来源: https://blog.csdn.net/tianli315/article/details/90519312

计蒜客信息学普及组赛前模拟 #1 C颜色

醉酒当歌 提交于 2019-12-02 12:32:06
计蒜客信息学普及组赛前模拟 #1 C颜色 不废话,看代码。 #include<queue> #include<set> #include<cstdio> #include<iostream> #include<algorithm> using namespace std; struct node{int x,y;}; const int N=1001; int n,m,ans=0; int d[N][N]={0}; bool v[N][N]={0}; set<int> si; int main(){ scanf("%d%d",&n,&m); for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ scanf("%d",&d[i][j]); } } for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(d[i][j]==0 || v[i][j]) continue; si.clear(); queue<node> q; q.push((node){i,j}); while(!q.empty()){ int x=q.front().x; int y=q.front().y; q.pop(); for(int k=0;k<4;k++){ int xk=x,yk=y; if(k==0)xk++; else if(k=

计蒜客信息学普及组赛前模拟 #1 D祖先

人走茶凉 提交于 2019-12-02 12:31:57
计蒜客信息学普及组赛前模拟 #1 D祖先 show me the code. #include<cstdio> #include<cctype> template<typename T>inline void read(T &a){ char c=getchar();T x=0,f=1; while(!isdigit(c)){if(c=='-')f=-1;c=getchar();} while( isdigit(c)){x=(x<<1)+(x<<3)+(c^48);c=getchar();} a=f*x; } const int N=1000005; const int mod=1e9+7; int n,m,root,p; long long siz[N],sum[N],ans[N]; struct node{ int next,to; } edge[N<<1]; int idx=0,head[N]; inline void add(int u,int v){ edge[++idx].next=head[u]; edge[idx].to=v; head[u]=idx; } inline void dfs(int x,int f){ siz[x]=1; for(int i=head[x];i;i=edge[i].next){ int t=edge[i].to; if(t==f

计蒜客信息学普及组赛前模拟#1(10-26)

五迷三道 提交于 2019-12-02 12:15:20
计蒜客信息学普及组赛前模拟#1(10-26) A.爬山 DD 现在想去爬山,她定义从第 i 座山到第 i+1座山的疲劳度是 |a[i]-a[i+1]|, 现在给定 n 座山,初始状态下 DD 在第一座山上,她想知道整个爬山过程中单次疲劳度最大是多少 输入格式 第一行给定一个整数表示 n 第二行 n 个整数,第 ii个表示 ai​ 输出格式 输出单次疲劳度最大值是多少 数据范围 对于 30% 的数据,2≤n≤5000 对于另外20% 的数据,保证所有ai​ 都相同 对于 100% 的数据,2≤n≤500000,1≤ai​≤1e9 输出时每行末尾的多余空格,不影响答案正确性 样例输入 6 1 100 2 200 3 300 样例输出 297 解题思路:只用输出单次疲劳的最大值即可。所以我们设x,y,将a1的输入独立出来,然后对于其后的每一次输入,(x为当次输入的值,y为上次输入的值),比较他们的差,选取最大值即可。代码如下: #include <bits/stdc++.h> using namespace std; typedef long long LL; #define rep(i,j,k) for(int i = (j); i <= (k); i++) #define sf(n) scanf("%d",&n) #define pf(n) printf("%d\n",n)

旅游规划--信息学一本通

旧街凉风 提交于 2019-12-02 06:51:48
bfs第一次写崩了,超时到怀疑人生 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<vector> #include<queue> #define maxn 200010 using namespace std; vector<int>G[maxn]; void insert(int be, int en) { G[be].push_back(en); } int n; int dis1[maxn]; int dis2[maxn]; int vis[maxn]; int dfs1(int x, int fa, int dp) {//求直径 dis1[x] = dp; for (int i = 0; i < G[x].size(); i++) { int p = G[x][i]; if (p == fa) continue; dfs1(p, x, dp + 1); } return 0; } int bfs(int be,int *dis) { //标记层数 queue<int>que; que.push(be); dis1[be] = -1; while (!que.empty()) { int x = que.front(); que.pop(); for

CSP2019总结

懵懂的女人 提交于 2019-11-30 04:10:14
CSP2019总结 总结是总结,游记是游记,既然这样就省略掉参赛过程吧。 分数:100+100+10+64+64+55=393 · 算是尽力了吧其实我觉得,至少会的都拿了,也没有什么重大失误,初三都有四百五的了,还是要多努力啊。 · 我感觉这次的题目作为一套联赛题来说不太好,区分度不大,这个也不知道那几个出题人是怎么想的。 · 过去的一年里,自己感觉还是有些摇摆不定,有时的重心在信息学,有时的重心在文化课,可能要兼顾两边对于我来说还是比较难的一件事情,至少目前这个平衡点还在摸索之中。 · 联赛的算法知识点考的不难,难的只是应用,但接下来的省选冬夏令营(也不知道能不能去的说)考察的知识点却还有较多我没有掌握的,我觉得接下来我的当务之急是要学习省选级别的算法。但是每周又有比赛,有题目要改要完成,好像也没有什么自主的时间能够学习算法,只能尽力抽时间吧。 · 我觉得我不算是一个天赋很好的选手,很多的题目(包括文化课的理科题和信息学),都是我要花费大量时间来题解,而对于某些人来说却很显然的,这点估计也算是导致我个人的时间总是不够用的原因。我有时会尽力做得很努力,很勤奋,但是努力勤奋的时候真的感觉很压抑,很自闭,所以有时也会没那么努力,想着放松一下(我可不想得抑郁症)。其实我感觉我可能不太适合科研方面的,因为科研这种东西是要静下心来抛弃功名利禄去做的,而我是一个比较俗气市侩的人

这个华东省份,竟无一所“信息学奥林匹克优秀学校”,不是某湾

☆樱花仙子☆ 提交于 2019-11-29 05:04:00
江西省,简称“ 赣 ”,是中华人民共和国的一个省,地处我国华东地区,省会为南昌。 该省被浙、闽、粤等信息学发达省份环绕,自己却未拥有一所“信息学奥林匹克优秀学校”。(链接: http://www.noi.cn/newsview.html?id=920&hash=41DC3E ) 评奖对象:参与NOI赛事的中学 参评条件: 在过去5年中,NOIP一等奖累计获奖达30人次 ,偏远省份和特殊地区适当放宽;配备至少2名专职NOI指导教师,无选手竞赛作弊及其他违反NOI规则的行为。 可以看出,即使是最偏远的新疆,也有一所学校达标;甘肃、贵州、海南、内蒙古、云南,甚至是港澳,也都受到了特殊照顾。这样一来,没有“信息学奥林匹克优秀学校”的省(自治区)就只剩西藏、青海、宁夏、台湾以及江西了。 来源: https://www.cnblogs.com/dong-ji-yuan/p/11456184.html