我靠 简直不忍直视WA了好多发,原来并查集没错,是把输入给看错了……晕…… 原题是:Then follow m lines, each contains three integers p, q and c (0 <= c <= 1000), means it takes c to connect p and q. 让我看成了输入的是c,p,q,所以一直错,因为这道题目数据正好让我的答案与样例
This way 题意: 现在有一个01串,并且有一个操作是将一个区间翻转成同样的字符,现在有两个人轮流翻转,问你最后谁赢 题解: 如果第一个人要赢,那么只能在第一次的时候赢,如果第二个人要赢,也只能在他第一次翻转的时候赢,否则他们就能够给对方造成无法取胜的局势,如此往复。 那么第一个人赢必然是某个区间翻转之后全部变成相同的,那么可以通过开头连续相同的字符和结尾连续相同的个数来判断。 如果
This way 题意: 二维平面上有一些点,你现在有一个没有顶边的矩形,问你有多少种包含点的情况(每个点视为不同) 题解: 将每个点视为矩形下底边上的点,查找这个点左边有多少点,右边有多少点,这个点做完之后将其删除,相同高度的点从左到右做,对于右边的点要注意左端点位左边的点+1: 这张图就表示了相同高度右边点的可查询区间。 (刚多校结束发现2200真的是比赛中的简单题了) #incl