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的更多相关文章

  1. 【并查集缩点+tarjan无向图求桥】Where are you @牛客练习赛32 D

    目录 [并查集缩点+tarjan无向图求桥]Where are you @牛客练习赛32 D PROBLEM SOLUTION CODE [并查集缩点+tarjan无向图求桥]Where are yo ...

  2. 牛客练习赛32 B题 Xor Path

    链接:https://ac.nowcoder.com/acm/contest/272/B来源:牛客网 题目描述 给定一棵n个点的树,每个点有权值.定义表示  到  的最短路径上,所有点的点权异或和. ...

  3. 牛客练习赛48 A· 小w的a+b问题 (贪心,构造,二进制)

    牛客练习赛48 A· 小w的a+b问题 链接:https://ac.nowcoder.com/acm/contest/923/A来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C ...

  4. 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 逻辑,博弈 B

    牛客练习赛31 B 赞迪卡之声妮莎与奥札奇 https://ac.nowcoder.com/acm/contest/218/B 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...

  5. 牛客练习赛31 D 神器大师泰兹瑞与威穆 STL,模拟 A

    牛客练习赛31 D 神器大师泰兹瑞与威穆 https://ac.nowcoder.com/acm/contest/218/D 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 26214 ...

  6. 最小生成树--牛客练习赛43-C

    牛客练习赛43-C 链接: https://ac.nowcoder.com/acm/contest/548/C 来源:牛客网 题目描述 ​ 立华奏是一个刚刚开始学习 OI 的萌新. 最近,实力强大的 ...

  7. 牛客练习赛28-B(线段树,区间更新)

    牛客练习赛28 - B 传送门 题目 qn姐姐最好了~ ​ qn姐姐给你了一个长度为n的序列还有m次操作让你玩, ​ 1 l r 询问区间[l,r]内的元素和 ​ 2 l r 询问区间[l,r]内的 ...

  8. 牛客练习赛26:D-xor序列(线性基)

    链接:牛客练习赛26:D-xor序列(线性基) 题意:小a有n个数,他提出了一个很有意思的问题:他想知道对于任意的x, y,能否将x与这n个数中的任意多个数异或任意多次后变为y 题解:线性基 #inc ...

  9. [堆+贪心]牛客练习赛40-B

    传送门:牛客练习赛40 题面: 小A手头有 n 份任务,他可以以任意顺序完成这些任务,只有完成当前的任务后,他才能做下一个任务 第 i 个任务需要花费  x_i 的时间,同时完成第 i 个任务的时间不 ...

随机推荐

  1. 深度学习课程笔记(五)Ensemble

    深度学习课程笔记(五)Ensemble  2017.10.06 材料来自: 首先提到的是 Bagging 的方法: 我们可以利用这里的 Bagging 的方法,结合多个强分类器,来提升总的结果.例如: ...

  2. AtomicReference实现单例模式

    CAS是项乐观锁技术,当多个线程尝试使用CAS同时更新同一个变量时,只有其中一个线程能更新变量的值,而其它线程都失败,失败的线程并不会被挂起,而是被告知这次竞争中失败,并可以再次尝试. 乐观锁的一种实 ...

  3. Kubernetes体系结构

      Nodes Node Status Addresses Phase Condition Capacity Info Management Node Controller Self-Registra ...

  4. Python 基础 Python是什么

    1.Python 是一门高级的.面向对象的,解释性,脚本语言.

  5. HttpPost

    public static string HttpPost(string url, string postData, bool isPost = true) { string method = isP ...

  6. re模块与subprocess模块介绍

    一:re模块       处理正则表达式的模块,正则表达式就是一些带有特殊含义的符号或者符号的组合. 作用:对字符串进行过滤,在一堆字符串中找到你所关心的内容,你就需要告诉计算机你的过滤的 规则是什么 ...

  7. _itemmod_gem_limit

    该表可以控制特定宝石的数量上限,即使玩家多插了宝石,也不会有相应效果 `entry` 宝石ID `limitCount`上限值 `comment`备注

  8. 学习笔记20—MATLAB特殊函数

    1.qfunc就是Q函数 2.mae(平均绝对误差)函数,mae(abs(A-B)) 3.Z = zscore(x) 等价于 Z=(X-repmat(mean(X),57,1))./repmat(st ...

  9. MySQL学习(八)

    连接查询 1 集合的特点:无序性,唯一性 集合的运算:求并集,求交集,求笛卡尔积 表和集合的关系 一张表就是一个集合,每一行就是一个元素 疑问:集合不能重复,但我有可能两行数据完全一样 答:mysql ...

  10. Asp.net core 学习笔记 (授权)

    更新 : 2018-11-24 记入一些思考 asp.net core + identity 的权限是这样的 user = 1 个登入账号 role = 1 个角色 (类似于公司里的一个职位) cla ...