Educational Codeforces Round 32
http://codeforces.com/contest/888
A Local Extrema【水】
【题意】:计算极值点个数
【分析】:除了第一个最后一个外,遇到极值点ans++,包括极大和极小
【代码】:
#include<bits/stdc++.h>using namespace std;int main() {int n,a[1000+10];int maxn,minn;maxn=minn=0;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=2;i<=n-1;i++){if(a[i]>a[i+1]&&a[i]>a[i-1]) maxn++;if(a[i]<a[i+1]&&a[i]<a[i-1]) minn++;}cout<<minn+maxn<<endl;return 0; }
暴力
B Buggy Robot【模拟】
【题意】:机器人从(0,0)出发,有UDLR四种走法,分别代表上下左右的方向,最后回到(0,0),给你一段包含这些走法的序列,求最多有几个走法正确(即可以删去最少的操作使其能够回到原点)。
【分析】:记录下四个方向执行了几次,然后取相反方向的最小值乘2。我是这么想的,还特判了。最后被hack了···
【代码】:
#include<bits/stdc++.h>using namespace std;int main() {int n,min1,min2;int l,d,u,r;l=d=u=r=min1=min2=0;char a[110];cin>>n;for(int i=0;i<n;i++){cin>>a[i];if(a[i]=='L') l++;else if(a[i]=='D') d++;else if(a[i]=='U') u++;else r++;}if(l&&(!r)){printf("0\n");return 0;}if(r&&(!l)){printf("0\n");return 0;}if(u&&(!d)){printf("0\n");return 0;}if(d&&(!u)){printf("0\n");return 0;}if(l&&r) min1=2*min(l,r);if(u&&d) min2=2*min(u,d);printf("%d\n",min1+min2);return 0; }
被hack代码
#include <bits/stdc++.h> using namespace std; int main(){ios_base::sync_with_stdio(false);cin.tie(NULL);int N,l=0,r=0,u=0,d=0;cin>>N;string s;cin>>s;for(int i=0;i<s.length();i++){if(s[i]=='L')l++;if(s[i]=='R')r++;if(s[i]=='U')u++;if(s[i]=='D')d++;}cout<<2*(min(l,r)+min(u,d))<<endl; }
AC
C K-Dominant Character【贪心】
【题意】:给一小写字母组成的字符串,找个长度最短的k。使得这些长度为k的子串必须包含了某同一个字符。
【分析】:记录下两个相同字符的最长距离,然后取这些距离的最小值。最小化最大值。
一个数组记录该字母上一次出现的位置
一个数组记录该字母相邻最大距离
如果没有重复出现的字符呢
设定在-1和len两个位置上和所以字母相同
(金牌讲师010):对于aab
有a这个位置的是
1 2
字符串长度是3
间距分别是
0-1 1
1-2 1
2-4 2
0和4是字符串的边界外
所以对于字符a就是2是最大间距
b只有3这个位置出现
0-3 3
3-4 1
所以b的最大间距是3
这题答案就是2
字符串的边界外也算进去?
因为
___x___x____x__
两边还有__
x是出现的位置
【代码】:
#include<bits/stdc++.h>using namespace std; const int inf = 0x3f3f3f3f; const long long INF = 0x3f3f3f3f3f3f3f3fLL; const double pi = acos(-1.0); const int maxn = 100000+10; const int mod = 1e9+7; char a[maxn]; int main() {//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);int n;scanf("%s",a+1);int len=strlen(a+1),ans=len;for (int i=0;i<128;i++){int tmp=0;int pos=0;for (int j=1;j<=len;j++)if (a[j]==i)tmp=max(tmp,j-pos),pos=j;tmp=max(tmp,len+1-pos);ans=min(ans,tmp);}printf("%d\n",ans);return 0; }
View Code
2 seconds
256 megabytes
standard input
standard output
A permutation p of size n is an array such that every integer from 1 to n occurs exactly once in this array.
Let's call a permutation an almost identity permutation iff there exist at least n - k indices i (1 ≤ i ≤ n) such that pi = i.
Your task is to count the number of almost identity permutations for given numbers n and k.
The first line contains two integers n and k (4 ≤ n ≤ 1000, 1 ≤ k ≤ 4).
Print the number of almost identity permutations for given n and k.
4 1
1
4 2
7
5 3
31
5 4
76 【题意】:一个长为n的排列,其中pi=i的位置大于等于n-k的排列方案数, 比如n=5 k=3让你求有多少个1 2 3 4 5的排列使得至少5-3=2个数字在“原位”【分析】:公式是C(n,i)*D(i) (0<=i<=k),
【代码】:
By RoniKing, contest: Educational Codeforces Round 32, problem: (D) Almost Identity Permutations, Accepted, ##include <bits/stdc++.h> #define LL long long using namespace std; //const int mod=1e9+7; const int maxn=1e3+100; LL D[maxn], C[maxn][1005]; int p[1000+100]; void init() {D[0]=1;D[1]=0;for(int i=1;i<maxn;i++)//错排D[i]=((i-1)*(D[i-1]+D[i-2]));int i;//for (p[0]=i=1;i<=200000;i++) p[i]=1ll*p[i-1]*i%mod;for (int i = 0; i < maxn; i++)//排列组合 {for (int j = 0; j <= min(105, i); j++){if (j == 0) C[i][j] = 1;elseC[i][j] = (C[i-1][j] + C[i-1][j-1]) ;}} } int main() {init();int t;int n,k;cin>>n>>k;LL ans=1;for(LL i=1;i<=n;i++)ans = ans * i ;LL val=1;for(int i=1;i<=k;i++)val=(val + D[i]*C[n][i]) ;// cout<<ans<<endl;cout<<val<<endl;//cout<<(ans-val)<<endl; }
我的丑代码
#include<bits/stdc++.h>using namespace std;int main() {long long n,k;cin>>n>>k;long long ans=1;if(k>=2) ans+=n*(n-1)/2;if(k>=3) ans+=n*(n-1)*(n-2)/3;if(k>=4) ans+=n*(n-1)*(n-2)*(n-3)*3/8;cout<<ans;return 0; }
简♂短
转载于:https://www.cnblogs.com/Roni-i/p/7813487.html
Educational Codeforces Round 32相关推荐
- Educational Codeforces Round 32 G. Xor-MST 01tire + 分治 + Boruvka
传送门 文章目录 题意: 思路: 题意: 给你一个长度为nnn序列aaa,每两个点之间的边权为ai⊕aja_i\oplus a_jai⊕aj,问你最小生成树的权值是多少. n≤2e5,ai< ...
- Educational Codeforces Round 90 (Rated for Div. 2)(A, B, C, D, E)
Educational Codeforces Round 90 (Rated for Div. 2) Donut Shops 思路 分三种情况: a==c/ba == c / ba==c/b这个时候两 ...
- Educational Codeforces Round 24 E. Card Game Again(双指针)
题目链接:Educational Codeforces Round 24 E. Card Game Again 题意: 给你n个数和一个数k. 现在每次可以拿掉前x个数,后y个数,剩下的数的乘积要能被 ...
- Educational Codeforces Round 25 G. Tree Queries
题目链接:Educational Codeforces Round 25 G. Tree Queries 题意: 给你一棵树,一开始所有的点全是黑色,有两种操作. 1 x 将x这个点变为黑色,保证第一 ...
- [Educational Codeforces Round 16]A. King Moves
[Educational Codeforces Round 16]A. King Moves 试题描述 The only king stands on the standard chess board ...
- Educational Codeforces Round 114 (Rated for Div. 2) (A ~ F)全题解
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Educational Codeforces Round 114 (Rated for Div. 2) ...
- Educational Codeforces Round 106 (Rated for Div. 2)(A ~ E)题解(每日训练 Day.16 )
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 Educational Codeforces Round 106 (Rated for Div. ...
- Educational Codeforces Round 37 (Rated for Div. 2) 1
Educational Codeforces Round 37 (Rated for Div. 2) A.Water The Garden 题意:Max想给花园浇水.花园可被视为长度为n的花园床,花园 ...
- Educational Codeforces Round 89 (Rated for Div. 2)(A, B, C, D)
Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords 思路 题意非常简单,就是得到最多的物品嘛,我们假定a, ...
最新文章
- jQueryMobile常用技巧
- 【域渗透】教你怎么利用DCSync导出域内所有用户hash
- C# 将PowerPoint文件转换成PDF文件
- TLS线程局部存储--thread_specific_ptr
- MySQL详细安装(windows)
- sqlserver修改字段长度语句_SQL Server读懂语句运行 (三) SET STATISTICS PROFILE ON
- Oracle数据库通过创建触发器实现自增功能
- NETSH WINSOCK RESET CATALOG
- 太可爱啦!程序员把电脑病毒当宠物养
- Ubuntu常用软件下载
- wordpress插件_哪个是最好的WordPress画廊插件? (性能比较)
- DeepMind 联合创始人加盟 Google AI【智能快讯】
- 苹果AppId登录注册
- 360wifi架设文件服务器,360wifi怎么搭建局域网共享平台
- RxSwift核心逻辑
- Cannot get a STRING value from a NUMERIC cell最新解决方法
- 基于cefsharp的浏览器应用开发(支持XP系统)
- 构建kd树和kd树的搜索
- 苹果新系统耗电过快怎么解决(解决方法)
- grafana mysql 时间段选择_mysql – 选择特定时间段内的所有可用项目
热门文章
- springboot分页展示功能_springboot+vue实现分页功能
- linux imq原理图,编译IMQ模块
- mysql 不排序_第08期:有关 MySQL 字符集的注意事项
- python做动态相册_动感网页相册 python编写简单文件夹内图片浏览工具
- centos mysql卸载重装_centos 7.x 安装/卸载MySQL
- 进行xlsx 复制一行_利用Phyton对Excel数据进行查错
- python 宏定义_python Debug宏定义
- 在图形化界面中为Ubuntu18.04更新源
- 自定义注解做数据验证
- 笔记-项目整体管理-变更管理-变更管理的原则