选举


题目描述

C国的总统选举委员会最近遇到了一些麻烦。

他们在统计各省对H先生的支持率(百分比)时,把支持率四舍五入到了整数。等他们公布结果后,该国媒体发现这些省份的支持率之和不等于100(百分比)!在媒体黑幕声的质疑下,他们不得不找你寻求帮助。

你将得到各省四舍五入后的支持率,请计算这些省份的支持率在四舍五入前的和是否可能等于100?支持率是以百分比的形式统计的。

请注意,各省的支持率可以是一个包含任意多位的有限小数。一个小数在四舍五入到整数时,若小数点后第一位小于5则舍,大于等于5则入。

例如:

26、17、58是一种可能的支持率,因为它们可能是25.8、16.5、57.7四舍五入后得到的,而25.8+16.5+57.7=100。

49、49是一种不可能的支持率,因为当9的个数有限时,无论有多少个9,均有49.499…99+49.499…99<100。

输入格式

输入包含多组数据,第一行是一个整数T,表示数据组数。

接下来是T组数据,每组数据的第一行是一个整数N,表示参与选举的省份个数。第二行是N个整数,表示各省四舍五入后的支持率。

输出格式

对于每组数据,若是一种可能的支持率,输出Yes,否则输出No。

样例输入

2

2

49 49

3

26 17 58

样例输出

No

Yes

数据范围与约定

对于30%的数据,1<=n<=3;

对于50%的数据,1<=n<=5;

对于80%的数据,1<=四舍五入后各省的支持率<=99;

对于100%的数据,1<=n<=10000,输入数据中的所有整数均在有符号16位整数范围内。

#include<cstdio>
using namespace std;
#define O(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout);
#define ct   register int
#define f(c)   for(ct i=1;i<=c;i++)
typedef  long long ll;
int read(){ct f=1,x=0;char c=getchar();for(;c<'0'||c>'9';c=getchar())if(c=='-')f=-1;for(;'0'<=c&&c<='9';c=getchar())x=(x<<1)+(x<<3)+(c^48);return x*f;}
int main(){O("election");double total;bool out=0;int w;int t=read();while(t--){int n=read(),x;w=n;f(n){x=read(),total+=x,x==0?w--:w=w;if(x<0)out=1;}if(out){printf("No\n");continue;}if(total>100)total-w*0.5<=100?printf("Yes\n"):printf("No\n");elseif(total<100)total+n*0.49999999999>=100?printf("Yes\n"):printf("No\n");else printf("Yes\n");total=0;}return 0;
}

入门题没什么好讲了吧。(虽然我之前的程序因为沉迷三目WA了一个点)

异象石


题目描述

Adera是Microsoft应用商店中的一款解谜游戏。

异象石是进入Adera中异时空的引导物,在Adera的异时空中有一张地图。这张地图上有N个点,有N-1条双向边把它们连通起来。起初地图上没有任何异象石,在接下来的M个时刻中,每个时刻会发生以下三种类型的事件之一:

  1. 地图的某个点上出现了异象石(已经出现的不会再次出现);
  2. 地图某个点上的异象石被摧毁(不会摧毁没有异象石的点);
  3. 向玩家询问使所有异象石所在的点连通的边集的总长度最小是多少。

请你作为玩家回答这些问题。

输入格式

第一行有一个整数N,表示点的个数。

接下来N-1行每行三个整数x,y,z,表示点x和y之间有一条长度为z的双向边。

第N+1行有一个正整数M。

接下来M行每行是一个事件,事件是以下三种格式之一:

+ x    表示点x上出现了异象石

- x表示点x上的异象石被摧毁

?表示询问使当前所有异象石所在的点连通所需的边集的总长度最小是多少。

输出格式

对于每个 ?事件,输出一个整数表示答案。

样例输入

6

1 2 1

1 3 5

4 1 7

4 5 3

6 4 2

10

+ 3

+ 1

?

+ 6

?

+ 5

?

- 6

- 3

?

样例输出

5

14

17

10

数据范围与约定

对于30%的数据,1 ≤ n, m ≤ 1000。

对于另20%的数据,地图是一条链,或者一朵菊花。

对于100%的数据,1 ≤ n, m ≤ 10^5, 1 ≤ x, y ≤ n, x ≠ y, 1 ≤ z ≤ 10^9。

#include<cstdio>
#include<set>
#define MN 100000
#define MD 17
using namespace std;
#define O(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout);
#define ct   register int
#define f(i,c)   for(ct i=1;i<=c;i++)
#define I   set<int>::iterator
#define ll long long
int read(){ct f=1,x=0;char c=getchar();for(;c<'0'||c>'9';c=getchar())if(c=='-')f=-1;for(;'0'<=c&&c<='9';c=getchar())x=(x<<1)+(x<<3)+(c^48);return x*f;}
char st[5];set<int> s;
int n,m,head[MN+5],cnt=0,fa[MD+1][MN+5],dfn[MN+5],p[MN+5],D[MN+5],dn=0;
long long ans=0,dep[MN+5];
struct edge{int to,next,w;}e[MN*2+5];
inline void ins(int f,int t,int w){e[++cnt]=(edge){t,head[f],w};head[f]=cnt;e[++cnt]=(edge){f,head[t],w};head[t]=cnt;    }
void Pre(int x,int f){dfn[x]=++dn;p[dn]=x;fa[0][x]=f;for(int i=head[x];i;i=e[i].next)if(e[i].to!=f) D[e[i].to]=D[x]+1,dep[e[i].to]=dep[x]+e[i].w,Pre(e[i].to,x);}
int lca(int x,int y){if(D[x]<D[y])swap(x,y);for(int k=D[x]-D[y],j=0;k;k>>=1,++j)if(k&1)x=fa[j][x];if(x==y)return x;for(int i=MD;~i;--i)if(fa[i][x]!=fa[i][y])x=fa[i][x],y=fa[i][y];return fa[0][x];}
long long dis(int x,int y){x=p[x];y=p[y];return dep[x]+dep[y]-2*dep[lca(x,y)];}
int main(){O("stone");n=read();for(int i=1,j,k;i<n;++i) j=read(),k=read(),ins(j,k,read());Pre(1,0);f(i,MD)f(j,n)fa[i][j]=fa[i-1][fa[i-1][j]];m=read();for(int i=1,j=0;i<=m;++i){scanf("%s",st+1);if(st[1]=='?')printf("%lld\n",ans>>1);else if(st[1]=='+'){int x=dfn[read()];s.insert(x);if(++j==1) {ans=0;continue;}I it2,it=s.lower_bound(x);int pre,aft;it==s.begin()?pre=*--(it2=s.end()):pre=*--(it2=it);++(it2=it)==s.end()?aft=*s.begin():aft=*it2;ans+=dis(pre,x)+dis(x,aft)-dis(pre,aft);}else if(st[1]=='-'){int x=dfn[read()];if(--j<=1){ans=0;s.erase(s.find(x));continue;}I it=s.lower_bound(x),it2;int pre,aft;if(it==s.begin()) pre=*--(it2=s.end()); else pre=*--(it2=it);if(++(it2=it)==s.end()) aft=*s.begin();else aft=*it2;ans-=dis(pre,x)+dis(x,aft)-dis(pre,aft);s.erase(it);}}return 0;}

序列变换


题目描述

给定一个长度为N的数列Ai。

你可以对数列进行若干次操作,每次操作可以从数列中任选一个数,把它移动到数列的开头或者结尾。

求最少经过多少次操作,可以把数列变成单调不减的。“单调不减”意味着数列中的任意一个数都不大于排在它后边的数。

输入格式

第一行是一个正整数N。

第二行是N个正整数Ai。

输出格式

输出一个整数,表示最少需要的操作次数。

样例输入

5

6 3 7 8 6

样例输出

2

数据范围与约定

对于30%的数据,满足1≤n≤10。

对于60% 的数据,满足1≤n≤1000。

对于100% 的数据,满足1≤n≤1000000,1≤Ai≤1000000。

#include<cstdio>
#include<algorithm>
#include<vector>
#define O(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout);
#define f(a,b,c,d)   for(int a=b;a-d!=c;a+=d)
using namespace std;
int n,m,ans,l,r;
int a[1000001],q[1000001];
vector<int> b[1000001];
int main(){O("change");scanf("%d",&n);f(i,1,n,1)scanf("%d",&a[i]),b[a[i]].push_back(i),m=max(m,a[i]);l=1;r=0;f(i,1,m,1){reverse(b[i].begin(), b[i].end());f(j,0,b[i].size()-1,1){int k=b[i][j];while(l<=r&&q[r]>k){while(l<r&&a[q[l]]<a[q[r]]) l++;r--;}ans=max(ans,r-l+2+j);}for(int j=b[i].size()-1;j>=0;j--)q[++r]=b[i][j];}printf("%d",n-ans);return 0;}

转载于:https://www.cnblogs.com/muzu/p/7744363.html

10.27 afternoon similated match相关推荐

  1. Daily Scrum 10.27

    今天毛宇已经完成了游戏每个模块的整体设计,并且大家聚在一起,对这些模块进行了具体的讨论和分析,包括模块的具体功能.接口.模块儿间的交互,以及注释的规范等等.大家看到彼此都能够按时完成任务,并且同步地进 ...

  2. Θ(n)反转单链表(算法导论第三版第十章10.2-7)

    Θ(n)反转单链表 (算法导论第三版第十章10.2-7) template<typename T> void reverses(Single_L<T> &l) {if( ...

  3. 192.168.1.10/27,后面的27是什么意思,这样写限制的网络是哪些?

    转载来自:http://blog.csdn.net/forest_fire/article/details/71703075 IP地址最后一位斜杠是什么意思?比如192.168.1.10/27?还有I ...

  4. 如192.168.1.10/27 IP斜杠后面的27是什么意思?

    这是一种可以随机修改组织内各个部门的子网掩码长度的机制--VLSM(可变长子网掩码,Variable Length Subnet Mask),比如例子中的192.168.1.10/27,表示其网络地址 ...

  5. 诚聘兼职外包项目程序员(2005.10.27)

    诚聘兼职外包项目程序员(2005.10.27) (请保留此贴一段时间,谢谢) 我们是一家德国软件咨询顾问公司,随着业务发展,很多软件开发项目在洽谈中,现需要在中国诚聘有经验的业余兼职程序员.申请不需要 ...

  6. 《不思议地下城》10.27正式上线链游玩家|秘境城堡、勇敢冒险

    导语:<不思议地下城>是一款画风清新唯美,上手简单又有趣的Roguelike游戏.随机地下城的玩法有趣又休闲,死亡会丢掉这次探险的装备,但又能从主城再次出发挑战.继承了Roguelike随 ...

  7. Jamf Pro 10.27: IT管理员的幸福指数的又一次提升

    1 Jamf Pro 10.27,旨在提升IT管理员的幸福指数.我们听取了您的反馈和要求,并很荣幸为您带来此最新版本. Jamf Pro 10.27专注于改善管理员的日常操作,使Jamf易于使用且设备 ...

  8. 2020.10.27 北京阿里大文娱一面总结

    2020.10.27 北京阿里大文娱一面总结 先说结果:没过

  9. angular2 组件之间通讯-使用服务通讯模式 2016.10.27 基于正式版ng2

    工作中用到ng2的组件通讯 奈何官方文档言简意赅 没说明白 自己搞明白后 整理后分享下 rxjs 不懂的看这篇文章 讲很详细 http://www.open-open.com/lib/view/ope ...

最新文章

  1. 前沿 | 一文详解自动驾驶激光雷达和摄像头的数据融合方法
  2. 配置MM模块material management几个常见的错误
  3. 可视化组织内的基因表达
  4. Lucene:QueryParser
  5. 微软发布了开发社区采用.NET Standard的最新信息
  6. silverlight 通过WCF与LinQ对数据库进行操作1
  7. SpringBoot配置swagger2(亲测有效,如果没有配置成功,欢迎在下方留言)
  8. linux gpio-led
  9. ETL工具 DataX数据同步,LINUX CRONTAB 定时调度
  10. pytorch中的反卷积的output_padding参数
  11. sqlyog和mysql一样么_navicat和sqlyog的区别
  12. win10的计算机策略组,Win10家庭版如何添加组策略功能?
  13. VSCode如何搭建Vue项目?详细步骤
  14. 华为路由模拟器3.0参考实验7----直连路由无法ping通解决办法
  15. 计算机网络基础之物理层功能与协议
  16. 【活动更新】第一届Openbravo社区早餐会将与5/28在上海举办
  17. RAC环境诊断案例一则
  18. kali安装软件源软件
  19. 基于asp.net738房屋租赁管理系统
  20. 微服务_服务网关(Gateway)

热门文章

  1. c/c++格式化字符串的标识
  2. turtle库绘制圆_Python绘画:应用Turtle库绘制“抖音艺术字”
  3. linux mail命令查看邮件/mail控制台
  4. nextcloud php工程师,教你如何基于宝塔面板和nextcloud搭建自己的网盘
  5. u盘文件看得见却打不开_U盘中病毒,文件看得见,但是打不开,文件要怎么修复,求解答?...
  6. linux显示隐藏分区,找到了linux分区顺序错乱修复方法
  7. dubbo 无法访问消费端_Dubbo最佳实践,我整理了以下9点
  8. Matplotlib入门
  9. 7个Python特殊技巧,助力你的数据分析工作之路
  10. 从 6 万用户评论中,选出这 23 门全世界最好的 CS 免费课