牛客练习赛32 A/B/C
https://ac.nowcoder.com/acm/contest/272/A
v<=k时 答案就是k个1
否则贪心的从中间向两边添加1
#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define pb push_back
#define mp make_pair
const LL mod=1e9+;
int s[];
int main(){
int v,k,i,j;
while(cin>>v>>k){
s[]=;
s[v-]=;
for(i=(v-)/,j=;j*+<=k;i--,j++){
s[i]=;
s[v--i]=;
}
if(v<k){
for(i=v;i<k;++i) s[i]=;
v=k;
}
LL ans=;
for(i=;i<v;++i){
ans=(ans*+s[i])%mod;
}
cout<<ans<<endl;
}
return ;
}
https://ac.nowcoder.com/acm/contest/272/B
考虑每一个点做出的贡献,通过这个点的路径数量是奇数就贡献一个A[u],否则就是0。
求每个点的路径数量时,只要dfs出所有子树的节点数量即可。
#include<bits/stdc++.h>
using namespace std;
#define LL long long
#define pii pair<int,int>
#define inf 0x3f3f3f3f
#define pb push_back
#define mp make_pair
const LL mod=1e9+;
const int maxn=;
vector<int>g[maxn];
LL A[maxn],n,ans=;
int dfs(int u,int fa){
int sum=,s=;
for(int i=;i<g[u].size();++i){
int v=g[u][i];
if(v==fa) continue;
int tmp=dfs(v,u);
//s+=tmp;
sum+=(tmp*(s+));
s+=tmp;
//if(u==1)cout<<"sum= "<<sum<<" "<<s<<endl;
sum%=;
}
sum+=((LL)n-s-)*((LL)s+);
sum%=;
s++;
if(sum)ans^=A[u];
return s;
}
int main(){
int i,j,u,v;
scanf("%lld",&n);
for(i=;i<n;++i){
scanf("%d%d",&u,&v);
g[u].push_back(v);
g[v].push_back(u);
}
for(i=;i<=n;++i)scanf("%lld",A+i);
dfs(,);
printf("%lld\n",ans);
return ;
}
https://ac.nowcoder.com/acm/contest/272/C
观察发现n次操作之后白球个数的概率都是1/(n+1), 所以答案就是 1/(1+n) *(n+2)*(n+1)/2 = (n+2)/2
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
scanf("%d",&n);
printf("%.7f\n",(2.0+n)/);
return ;
}
牛客练习赛32 A/B/C的更多相关文章
- 【并查集缩点+tarjan无向图求桥】Where are you @牛客练习赛32 D
目录 [并查集缩点+tarjan无向图求桥]Where are you @牛客练习赛32 D PROBLEM SOLUTION CODE [并查集缩点+tarjan无向图求桥]Where are yo ...
- 牛客练习赛32 B题 Xor Path
链接:https://ac.nowcoder.com/acm/contest/272/B来源:牛客网 题目描述 给定一棵n个点的树,每个点有权值.定义表示 到 的最短路径上,所有点的点权异或和. ...
- 牛客练习赛48 A· 小w的a+b问题 (贪心,构造,二进制)
牛客练习赛48 A· 小w的a+b问题 链接:https://ac.nowcoder.com/acm/contest/923/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...
- 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 逻辑,博弈 B
牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 https://ac.nowcoder.com/acm/contest/218/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...
- 牛客练习赛31 D 神器大师泰兹瑞与威穆 STL,模拟 A
牛客练习赛31 D 神器大师泰兹瑞与威穆 https://ac.nowcoder.com/acm/contest/218/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26214 ...
- 最小生成树--牛客练习赛43-C
牛客练习赛43-C 链接: https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 ...
- 牛客练习赛28-B(线段树,区间更新)
牛客练习赛28 - B 传送门 题目 qn姐姐最好了~ qn姐姐给你了一个长度为n的序列还有m次操作让你玩, 1 l r 询问区间[l,r]内的元素和 2 l r 询问区间[l,r]内的 ...
- 牛客练习赛26:D-xor序列(线性基)
链接:牛客练习赛26:D-xor序列(线性基) 题意:小a有n个数,他提出了一个很有意思的问题:他想知道对于任意的x, y,能否将x与这n个数中的任意多个数异或任意多次后变为y 题解:线性基 #inc ...
- [堆+贪心]牛客练习赛40-B
传送门:牛客练习赛40 题面: 小A手头有 n 份任务,他可以以任意顺序完成这些任务,只有完成当前的任务后,他才能做下一个任务 第 i 个任务需要花费 x_i 的时间,同时完成第 i 个任务的时间不 ...
随机推荐
- Derek解读Bytom源码-Api Server接口服务
作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom ...
- 分布式爬虫scrapy-redis中settings.py中的配置信息
SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 使用scrapy-redis的调度器 ITEM_PIPELINES = { 'sc ...
- java.lang.OutOfMemoryError:GC overhead limit exceeded
在调测程序时报java.lang.OutOfMemoryError:GC overhead limit exceeded 错误 错误原因:在用程序进行数据切割时报了该错误.由于在本地执行数据切割测试的 ...
- 程序设计第二次作业<2>
我所找到的C++相关课程列表: (2016/1/27)(部分) 1. 慕课网 http://www.imooc.com/learn/342 <c++远征之起航篇> 授课人:james_yu ...
- HDU 5459 Jesus Is Here(递推)
http://acm.hdu.edu.cn/showproblem.php?pid=5459 题意: S(1) = c,S(2) = ff, S(3) = cff,之后S(i) = S(i-1)+S( ...
- _map
地图属性控制表 comment 备注 Map 地图ID,.gps第一个参数 Zone 区域ID,.gps第二个参数,整个地图时填0 Area 地域ID,.gps第三个参数,整个地图或区域时填0 Cha ...
- Codeforces 765 E. Tree Folding
题目链接:http://codeforces.com/problemset/problem/765/E $DFS子$树进行$DP$ 大概分以下几种情况: 1.为叶子,直接返回. 2.长度不同的路径长度 ...
- 2017"百度之星"程序设计大赛 - 初赛(A) 01,05,06
小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- JS绘制拓扑图示例 (JTopo)
目前在做的项目是渔政的监控,需要用到的设备包括雷达,光电,站点信息等,想要更直观的展现设备之间的连接关系和状态信息,这时候需要画一张拓扑图 在做拓扑图之前,首先要学习一下,html里面另一个比较常用的 ...
- IOC和DI的区别详解
IOC 是英文inversion of control的缩写,意思是控制反转DI 是英文Dependency Injection的缩写,意思是依赖注入 下面用一个简单的例子来描述一下IOC和DI的 ...