摘要:
给定L,R,你可以用至多32个点构造一张简单DAG,并给每条边定一个正边权 #include<bits/stdc++.h> using namespace std; const int maxn=1010; int L,R; vector<pair<pair<int,int> ,int> > ans 阅读全文
摘要:
这两个版本之间的唯一区别是,此版本要求的是最大可能的答案。 荷马非常喜欢数组。今天,他正在绘制一个数组a1,a2,…,an,它具有白色和黑色两种颜色。 a1,a2,…,an的绘画分配由数组b1,b2,…,bn描述,bi指示ai的颜色(白色为0,黑色为1)。 根据绘画任务b1,b2,…,bn,将数组a 阅读全文
摘要:
题意: 给出一棵树,每次询问两点之间是否存在一个l到r之间的数出现奇数次,找到这个数。 题解: 询问是否出现奇数次,用可持久化线段树套树上差分维护异或和。 找到这个数,不套随机数一直wa5,看了官方题解,里面有证明套随机数求解这个问题可以做到大概率正确。woc真的好难。 #include<bits/ 阅读全文
摘要:
题意: 给出一棵树,支持以下操作: 选择树上2个叶子节点,把这2个节点加到答案里,同时删除其中一个节点。 询问怎么操作使得答案最大。 题解: 结论:维护一条直径,除直径以外的点对答案的贡献是max(dis(i,x),dis(i,y))。 直径端点的求解方法: 先一遍搜索出最深的点,那么这个点一定是端 阅读全文
摘要:
题意: 给出一棵树。 定义一个叶子集合为: 集合中任意一对叶子之间的距离小于等于k 询问最少可以把叶子分成几个集合。 做法: 考虑每次从最深的点开始搜索,这样可以保证,搜K次搜到的点之间的距离不超过K。 #include<bits/stdc++.h> using namespace std; con 阅读全文
摘要:
杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。 不吉利的数字为所有含有4或62的号码。例如: 62315 73418 8891 阅读全文