【zzulioj 1919 二分】
发布日期:2021-11-04 12:58:40
浏览次数:5
分类:技术文章
本文共 1040 字,大约阅读时间需要 3 分钟。
二分
Description
给一颗树,有n个结点,编号为1到n,1为根节点,有两种操作,1 x y把x结点权值加y,2 x查询x到根节点所有结点的权值和.
每个结点权值初始化为0。Input
第一行输入一个整数t,代表有t组测试数据。
每组数据第一行为两个整数n,m代表结点个数和操作次数。 接下来n-1行,每行两个整数a,b,表示a结点和b结点有一条边。 接下来m行每行一个操作格式如上。 0<=n<=50000 ,0<=m<=50000,0<=y<=50000Output
对于每组查询输出一个整数表示结果
Sample Input
1
5 5 1 2 1 3 3 4 3 5 2 5 1 1 2 1 3 1 2 4 2 1 Sample Output0
3 2二分很实用,关键在怎样二分
#include#include using namespace std;int pa[50011],N,M;int ERFN(int x){ int ans=0,cot=0,i; for(i=1;i<=N;i++) { if(x M-1) return 1; } } return 0;}int main(){ int T,low,high,a,mid,i; scanf("%d",&T); while(T--) { scanf("%d%d",&N,&M); high=0;low=0; for(i=1;i<=N;i++){ scanf("%d",&pa[i]); high+=pa[i]; low=max(low,pa[i]); } while(low<=high){ //建议 “<=” 二分标准写法 mid=(low+high)/2; if(ERFN(mid)) low=mid+1; else high=mid-1; } printf("%d\n",low); } return 0;}
转载地址:https://blog.csdn.net/WYK1823376647/article/details/52234305 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年03月28日 09时29分54秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
RPLY 入门例程中文化
2021-06-29
木兰编程语言入门教程之一——浅介
2021-06-29
木兰编程语言入门教程之二——控制走向
2021-06-29
基于「木兰」编译器,加十行代码实现 ∈ (属于集合)语法
2021-06-29
创建安卓键盘演示——“好不”
2021-06-29
木兰编程语言入门教程之三——函数和类型
2021-06-29
基于「木兰」逆向工程用 pyinstaller 生成可执行文件
2021-06-29
从微盟事件看商业数据公开化的必然趋势
2021-06-29
为新语言编写Visual Studio Code语法高亮插件
2021-06-29
手机编程环境初尝试-用AIDE开发Android应用
2021-06-29
Java关键字的汉化用词探讨
2021-06-29
程序员面试时用中文命名写白板代码的好处
2021-06-29
1992年日本对母语编程的可读性比较实验
2021-06-29
[转] 用python编写控制网络设备的自动化脚本3:启动
2021-06-29
扩展Python控制台实现中文反馈信息
2021-06-29
扩展Python控制台实现中文反馈信息之二-正则替换
2021-06-29
在PyPI测试平台发布Python包
2021-06-29
中文代码示例之Electron桌面应用开发初体验
2021-06-29
中文代码示例之NW.js桌面应用开发初体验
2021-06-29