A
#include<iostream> #include<cstring> #include<cstdio> using namespace std; long long num[20][20]; int main(){ long long i,j,k,a,b,c; while(cin>>a){ for(i=1;i<=a;i++){ num[i][1]=num[1][i]=1; } for(i=2;i<=a;i++){ for(j=2;j<=a;j++){ num[i][j]=num[i-1][j]+num[i][j-1]; } } cout<<num[a][a]<<endl; } return 0; }
B
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int num[200]; int main(){ int n,k,i,j,a,b,c,mn,mx; while(cin>>n>>k){ mn=1000; mx=-1; for(i=1;i<=n;i++){ scanf("%d",&num[i]); mn=min(num[i],mn); mx=max(num[i],mx); } if(mx-mn>k){ cout<<"NO\n"; }else{ cout<<"YES\n"; for(i=1;i<=n;i++){ for(j=1;j<num[i];j++){ a=j%k; if(a==0)a=k; printf("%d ",a); } a=num[i]%k; if(a==0)a=k; printf("%d\n",a); } } } return 0; }
C
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> using namespace std; int opt[1000],n,len,num[1000]; void gao(int a){ int k=1; while(a){ if(opt[k]<9){ a--; opt[k]++; }else{ while(opt[k]==9)k++; opt[k]++; a--; if(k>len)len=k; } } } int main(){ int i,j,k,a,b,c; while(cin>>n){ for(i=1;i<=n;i++){ scanf("%d",&num[i]); } len=1; memset(opt,0,sizeof(opt)); gao(num[1]); for(i=len;i>=1;i--)printf("%d",opt[i]); printf("\n"); for(i=2;i<=n;i++){ if(num[i]>num[i-1]){ gao(num[i]-num[i-1]); for(j=len;j>=1;j--)printf("%d",opt[j]); printf("\n"); }else{ a=num[i]-num[i-1]; k=1; while(1){ if(opt[k]!=9&&a>0){ opt[k]++; a--; if(k>len)len=k; gao(a); break; } a+=opt[k]; opt[k]=0; k++; } for(j=len;j>=1;j--)printf("%d",opt[j]); printf("\n"); } } } return 0; }
E
#include<iostream> #include<cstring> #include<cstdio> using namespace std; const int Max = 500005; char str[500009]; int fuck[1000]; double ddd[500009]; int main(){ int i,j,k,a,b,c,len; memset(fuck,0,sizeof(fuck)); fuck['I']=fuck['E']=fuck['A']=fuck['O']=fuck['U']=fuck['Y']=1; while(scanf("%s",str)!=EOF){ double res=0; len=strlen(str); double afk=0; for(i=1;i<=len;i++){ afk+=(1.0)/i; } b=1,c=len; ddd[1]=afk; for(i=2;i<=(len+1)/2;i++){ ddd[i]=ddd[i-1]+afk; ddd[i]-=(1.0)/(1.0*b); ddd[i]-=(1.0)/(1.0*c); afk-=(1.0)/(1.0*c); afk-=(1.0)/(1.0*b); b++,c--; } b=1; for(i=len;i>(len+1)/2;i--){ ddd[i]=ddd[b]; b++; } for(i=0;i<len;i++){ if(fuck[str[i]]){ res+=ddd[i+1]; } } printf("%.6f\n",res); } return 0; }
相关推荐
Codeforces Round #723 (Div. 2).md
E. Cyclic Components 题目链接-E. Cyclic Components 题目大意 给你nnn个点和mmm条边,求所构成图中单圈环的个数 ...并查集并查集并查集 很明显单圈环每个点的度都为222,所以我们可以用数组cnt[]记录每个点的度,...
传送门 题意: 开始位置在0,问能否跳到n+1位置 每步只能跳d 在1——n每个位置有方向,L,R,求d的最小值 思路: 只用找相邻两个R之间的最大值即可 代码: #include #include ...typedef long long l
传送门 题意: 一个长度为n的数组,为删除一些数后,剩下的数能否构成长度大于3的回文数组 思路: 只要能找到两个相等的数,且他们的间距大于2即可 o(n^2)的暴力就能过 比赛时写了一个o(n)的 就是把所有相等的数放到...
Codeforces Round #629 (Div. 3) E.Tree Queries (DFS) 思路:若ai 在路径上 ,则ai的父结点一定在路径上,若ai是路径上某个结点的子结点,则ai的父结点一定在路径上,综上只需考虑ai的父节点就行了。对每个ai判断...
### Codeforces Round #627 (Div. 3) D. Pair of Topics(二分,思维) #### 题目背景与概述 本题目来自Codeforces Round #627 (Div. 3),编号为D的题目“Pair of Topics”,这是一道结合了二分搜索与逻辑思维的...
标题中的"Codeforces Round #629 (Div. 3) E – Tree Queries dfs序判祖先关系"指的是一场编程竞赛中的问题,涉及到树结构的查询和深度优先搜索(DFS)来判断节点间的祖先关系。这个问题的目标是设计算法来确定在...
题目“Anu Has a Function”源自Codeforces Round #618 (Div. 2)的一道竞赛编程问题,主要涉及进制转换、位运算和贪心算法。问题要求定义一个函数f(x, y) = (x | y) - y,并对数组进行排序,以最大化最后的结果。 ...
C. Ehab and Path-etic MEXs 题意 给两两节点放一个数字(0~n-2 唯一) 给你一棵树,求所有任意两节点相连的路以外的路上的数字的最小值最小 思路 构造 若一个点连了三条边及以上,则这个点的边从最小值开始赋值。...
传送门 题意: 给一个长度为n的数组,两种操作,一个是把任意一个ai变成ai+2a_i变成a_i+2ai变成ai+2,另一个是如果所有数都大于0,可以把所有数减1,问通过这些操作能否把所有数变为0 思路: ...
B. Longest Palindrome time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard output Returning back to problem solving, Gildong is now studying about ...
A #include using namespace std; typedef long long ll; int main(){ int t; cin>>t; while(t--){ ll x; cin>>x; cout<<1>>t; while(t--){ st.clear(); ll n; cin >>n;... ll re
A. EhAb AnD gCd 题目链接-A. EhAb AnD gCd 题目大意 输入一个正整数x,找出这样的2个正整数a和b,使得gcd(a,b)+lcm(a,b)=x 解题思路 找最特殊的情况a=1,b=x-1即可 这样a,b两个数最大公因数为1,最小公倍数x-1,...
传送门 A. EhAb AnD gCd 直接输出1,n-1即可 #include #include #include #include #include #include #include #include #include #include #define pb push_back #define lb lower_bound ...con
传说门 刚好今晚是中国场! 其实这道题比较水,但当时思路错,一心想着化简公式,浪费了好多时间a.a 题意:三个数组,求(x-y)(x-y)+(x-z)(x-z)+(y-z)*(y-z)的最小值 题解:6nlogn,先sort三个数组a,b,c, 六次枚举二...
B. Yet Another Palindrome Problem 题目链接-B. Yet Another Palindrome Problem 题目大意 给一个长为n(≤5000)的数组,问是否存在一个长度至少为3的子序列是回文的,子序列的数可以不连续但是相对顺序不可变 ...
F. Moving Points time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard output There are n points on a coordinate axis OX. The i-th point is located at the ...
传送门 题意: 找规律,题意就是有多少种方式填充该图形 画两个就发现,输出n即可 代码: #include #include #include #include #include #include #include #include ...#define SZ(x) ((int)(x)