摘要:
题目大意:给你一棵树,有 q 个询问,每次给你三个数,其中一个当做终点,两个当做起点,问你这样两条路有多少公共节点。 思路:LCA,如果只问你 a,b 分别到 c 的两条路有多少个公共节点的话,就是( dis( a , c) + dis( b , c) - dis( a , b ) ) / 2 + 阅读全文
摘要:
数论题还是好恶心啊。 题目大意:给你两个不超过1e12的数 x,y,定义一个f ( x, y ) 如果y==0 返回 0 否则返回1+ f ( x , y - gcd( x , y ) ); 思路:我们设gcd ( x , y) 为G,那么 设 x = A*G,y = B*G,我们考虑减去多少个G时 阅读全文
摘要:
A. Queue on Bus Stop 题目大意:有n组人乘车,每组人有a [ i ],每辆车可以载 m 个人,保证 a[ i ]小于m,每组人中的人都不能分开, 问,最少要几辆车。 #include<bits/stdc++.h> using namespace std; int n,m,a[10 阅读全文
摘要:
以后争取补题不看别人代码,只看思路,今天就是只看思路补完的题,有点小激动。 A. Valera and Plates 水题,贪心地先放完第一种食物,在考虑第二种。 居然被卡了一会,心态要蹦 :(; #include<bits/stdc++.h> using namespace std; int n, 阅读全文
摘要:
题目大意:给你一堆n张牌(数字可以相同),你只能从上面取牌,如果是当前牌堆里面最小的值则拿走, 否则放到底部,问你一共要操作多少次。 思路:讲不清楚,具体看代码。。 #include<bits/stdc++.h> #define pb push_back #define ll long long u 阅读全文