Educational Codeforces Round 7
622A - Infinite Sequence 20171123
暴力枚举\(n\)在哪个区间即可,时间复杂度为\(O(\sqrt{n})\)
#include<stdlib.h> #include<stdio.h> #include<math.h> #include<cstring> #include<iostream> #include<algorithm> using namespace std; long long n; int main() {scanf("%I64d",&n);for(long long i=1;;i++)if(i*(i+1)/2>=n)return printf("%I64d\n",n-i*(i-1)/2),0; }
View Code
622B - The Time 20171123
没什么好说的......
#include<stdlib.h> #include<stdio.h> #include<math.h> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int h,m,a; void print(int k) {if(k<10)printf("0%d",k);else printf("%d",k); } int main() {scanf("%d:%d%d",&h,&m,&a);m+=a;h+=m/60;m%=60;h%=24;print(h);printf(":");print(m);return 0; }
View Code
622C - Not Equal on a Segment 20171123
设f[i]为前i个数里不同数的个数,然后瞎几把乱搞就好了_(:з」∠)_
#include<stdlib.h> #include<stdio.h> #include<math.h> #define N 1000001 #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,m,a[N],l,r,x,_,f[N]; int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++){scanf("%d",&a[i]);f[i]=f[i-1]+(a[i]!=a[i-1]);}for(int i=1;i<=m;i++){scanf("%d%d%d",&l,&r,&x);if(f[l]==f[r] && a[l]==x){printf("-1\n");continue;}if(a[l]!=x)printf("%d\n",l);elseprintf("%d\n",upper_bound(f+l,f+r,f[l])-f);}return 0; }
View Code
622D - Optimal Number Permutation 20171123
构造题...朝着让结果为0的目标去就好了
#include<stdlib.h> #include<stdio.h> #include<math.h> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,a,b,f[1000001]; int main() {scanf("%d",&n);a=1,b=n+1;for(int i=1;i<n;i++)f[a]=f[a+n-i]=i,a++,swap(a,b);f[a]=f[2*n]=n;for(int i=1;i<=2*n;i++)printf("%d%c",f[i],i==2*n?'\n':' ');return 0; }
View Code
622E - Ants in Leaves 20180919
考虑从根节点连出去的几个子树的答案是多少,对于每个子树,把子树中所有的叶子节点按深度排序,若设f[i]为第i个叶子爬到子树的根结点所需要的时间,则f[i]的初始值为他的深度,且有\(f_i=max(f_{i},f_{i-1}+1)\)。最终答案就是所有子树对应答案的最大值
#include<bits/stdc++.h> using namespace std; #define N 500001 int n,u,v,ans,cnt,f[N]; vector<int>d[N]; void dfs(int cur,int pre,int dep) {int x=0;for(auto nxt:d[cur])if(nxt!=pre)x=1,dfs(nxt,cur,dep+1);if(!x)f[++cnt]=dep; } int main() {scanf("%d",&n);for(int i=2;i<=n;i++)scanf("%d%d",&u,&v),d[u].push_back(v),d[v].push_back(u);for(auto i:d[1]){cnt=0;dfs(i,1,0);sort(f+1,f+cnt+1);for(int i=2;i<=cnt;i++)f[i]=max(f[i],f[i-1]+1);ans=max(ans,f[cnt]+1);}return printf("%d\n",ans),0; }
View Code
622F - The Sum of the k-th Powers 20180317
拉格朗日插值法的经典应用
#include<stdlib.h> #include<stdio.h> #include<math.h> #define N 1000005 #include<cstring> #include<iostream> #include<algorithm> using namespace std; #define LL long long #define MOD 1000000007 LL n,k,t,ans,inv[N],y[N],f[N]; LL qow(LL X,LL Y){return Y?(Y&1?X*qow(X,Y-1)%MOD:qow(X*X%MOD,Y/2)):1;} int main() {scanf("%I64d%I64d",&n,&k);inv[1]=f[0]=t=1;for(LL i=2;i<=k+1;i++)inv[i]=(MOD-MOD/i)*inv[MOD%i]%MOD;for(LL i=1;i<=k+1;i++)f[i]=f[i-1]*inv[i]%MOD;for(LL i=1;i<=k+2;i++)y[i]=(y[i-1]+qow(i,k))%MOD;if(n<=k+2)return printf("%I64d\n",y[n]),0;for(LL i=1;i<=k+2;i++)t*=(n-i)%MOD,t%=MOD;for(LL i=1;i<=k+2;i++){LL s=((i-k)%2)?-1:1,res=y[i];res*=t*qow((n-i)%MOD,MOD-2)%MOD,res%=MOD;res*=f[i-1]*f[k+2-i]%MOD,res%=MOD;ans+=(res*s+MOD)%MOD,ans%=MOD;}printf("%I64d\n",ans);return 0; }
View Code
转载于:https://www.cnblogs.com/DeaphetS/p/9674291.html
Educational Codeforces Round 7相关推荐
- [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 32
http://codeforces.com/contest/888 A Local Extrema[水] [题意]:计算极值点个数 [分析]:除了第一个最后一个外,遇到极值点ans++,包括极大和极小 ...
- 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 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 89 (Rated for Div. 2)(A, B, C, D)
Educational Codeforces Round 89 (Rated for Div. 2) A. Shovels and Swords 思路 题意非常简单,就是得到最多的物品嘛,我们假定a, ...
- Educational Codeforces Round 114 (Rated for Div. 2) D. The Strongest Build 暴力 + bfs
传送门 文章目录 题意: 思路: 题意: 你有nnn个装备槽,每个槽里面有cic_ici个力量加成,对于每个槽只能选一个力量加成,现在给你mmm个力量组合[b1,b2,...,bn][b_1,b_2 ...
- Educational Codeforces Round 17 E. Radio stations cdq分治 + 树状数组
传送门 文章目录 题意 思路: 题意 有nnn个电台,对于每个电台iii有三个参数xi,ri,fix_i,r_i,f_ixi,ri,fi,分别指他们的坐标.作用半径.频率.如果两个电台频率差值在 ...
- Educational Codeforces Round 16 C. Magic Odd Square 矩阵构造
传送门 文章目录 题意: 思路: 题意: 给你一个奇数nnn,让你构造一个n∗nn*nn∗n的矩阵,矩阵的每个位置依次填上[1,n∗n]之内的数[1,n*n]之内的数[1,n∗n]之内的数,满足每行. ...
最新文章
- eclipse项目红叉,Target runtime Apache Tomcat 6.0 is not defined
- 学习ReasonML编程语言
- 算法导论答案 16.2-2 0-1背包问题的动态规划算法
- 京东质检报告要求和检测项目-京东质检报告怎么弄
- windows server2016忘记密码,windows重置密码,windows破解密码,win10忘记密码,win10破解密码,windows server2016破解密码
- nmf算法 python_推荐算法——非负矩阵分解(NMF)
- Verilog 任意整数分频器
- 消除设计教室中的白人至上主义我与设计大师cheryl d miller的对话
- 安卓开发者必备的5款App:终端模拟器、颜色萃取、移动IDE等
- ElasticSearch教程-索引的介绍
- 为什么海底捞员工很少离职
- Vmware Esxi宿主机及虚拟机网络配置
- 12月小报|读小报,涨知识
- 手把手教会搭建网站详细全过程(从域名到网站部署)
- 挺带劲!这款免费开源的监控系统真强大~
- lcd屏和amoled屏的优缺点 lcd屏和amoled屏哪个效果好
- 基于Arduino的显示测量环境数据设计
- 农业工程与信息技术是计算机类吗,中国海洋大学农业工程与信息技术概论2020考研复试大纲...
- 芯片行业模式优缺点及巨头代表梳理
- c语言的链表实验总结,链表实现集合实验报告_相关文章专题_写写帮文库
热门文章
- HTML5绘制一个3D立方体,HTML5/Canvas交互式3D立方体
- linux怎么变成windows,如何把Ubuntu 18.04改造成Windows主题界面
- java基础总结06-常用api类-Math常用方法
- PHP7.0,PHP7.1.x新特性
- 阶段3 3.SpringMVC·_06.异常处理及拦截器_2 SpringMVC异常处理之演示程序异常
- 阶段3 3.SpringMVC·_03.SpringMVC常用注解_6 CookieValue注解
- 阶段3 2.Spring_07.银行转账案例_3 分析事务的问题并编写ConnectionUtils
- 阶段3 2.Spring_03.Spring的 IOC 和 DI_2 spring中的Ioc前期准备
- 190728-flink官方文档阅读和实战记录
- linux中使用bochs调试helloword引导程序