BESTCODER 68
来源:互联网 发布:淘宝微信创业故事 编辑:程序博客网 时间:2024/04/30 01:51
这次比赛还没结束我就开始写解题报告了。心情不错,至少上次的目标达到了,A了两道,挺爽的,而且第二题是写完过了个样例一交就直接AC了,这种快感还是第一次体验。
第一题 geometry
在平面直角坐标系上有一个点PP, 他的坐标是(x, y) 有一条直线y = kx + b经过了PP, 且分别交x, yx,y正半轴于A, B 求|PA| * |PB|的最小值.
输入描述
第一行一个TT, 表示数据组数.
接下来TT行每行两个正整数x,yx,y, 表示PP的坐标.
T=500, 0 < X, Y \leq 10000T=500,0
第二题 tree
Time Limit: 2000/1000 MS (Java/Others)
Memory Limit: 65536/65536 K (Java/Others)
问题描述
有一个树(nn个点, n-1n−1条边的联通图),点标号从11~nn,树的边权是00或11.求离每个点最近的点个数(包括自己).
输入描述
第一行一个数字TT,表示TT组数据.
对于每组数据,第一行是一个nn,表示点个数,接下来n-1n−1,每行三个整数u,v,wu,v,w,表示一条边连接的两个点和边权.
T = 50,1 \leq n \leq 100000, 1 \leq u,v \leq n,0 \leq w \leq 1T=50,1≤n≤100000,1≤u,v≤n,0≤w≤1.
输出描述
对于每组数据,输出答案.
考虑到输出规模过大,设ans_iansi表示第ii个点的答案.你只需输出ans_1 \ xor \ ans_2 \ xor \ ans_3.. \ xor \ ans_nans1 xor ans2 xor ans3.. xor ansn即可.
输入样例
1
3
1 2 0
2 3 1
输出样例
1
Hint
ans_1 = 2ans1=2
ans_2 = 2ans2=2
ans_3 = 1ans3=1
2 \ xor \ 2 \ xor \ 1=12 xor 2 xor 1=1, 因此输出11.
此题就是一个裸的并查集,既然如此明显,就赶紧去AC他把。可以多思考一下优化,最后对于边的合并处理完后,再进行一次getfather这个效率显然会低一点,可以考虑在第一次merge的时候对于getfather中做处理,使得相同父亲点的ans值同时更新。然后最后只需要扫一遍就行了。
- BESTCODER 68
- BestCoder Round #68
- BestCoder
- bestcoder
- BestCoder Round #68 (div.1)
- [BestCoder Round #68][HDU5608]function
- hdu5606 bestcoder#68 div2tree【并查集】
- BestCoder Round #68 (div.2) 总结
- BestCoder Round #68 (div.2)-tree(并查集)
- 【Bestcoder 68C】function 莫比乌斯函数
- hdu 5607 BestCoder Round #68 (矩阵快速幂)
- BestCoder Round #68 (div.1) A 并查集
- BestCoder Round #68 (div.1) B 矩阵乘法优化DP
- HDU 5606 tree BestCoder Round #68 (div.2) [思维]【数学】
- BestCoder 20140727
- BestCoder#3
- Bestcoder #11
- bestcoder #14
- 华为OJ训练题(一)
- 在VS2008环境下 python 利用调用 C++程序 接口
- Java中json的使用之创建篇(三)
- 如何用一维数组来解决01背包和完全背包问题?
- 异常声明
- BESTCODER 68
- 文章标题
- 【设计模式】抽象工厂模式(二)- PHP
- 第 1 章 设备驱动简介
- 打开设置界面报错问题
- 加密和安全
- 线程的实现(通过Runnable接口实现资源的共享:卖票)
- 关于引用.so(在使用第三方的SDK时,使用库跟.so)
- Android使用HttpURLConnection访问接口