P10952 聚会 题解】的更多相关文章

题目: 草原上住着一群小松鼠,每个小松鼠都有一个家.时间长了,大家觉得应该聚一聚.但是草原非常大,松鼠们都很头疼应该在谁家聚会才最合理. 每个小松鼠的家可以用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点(x-1,y),(x+1,y),(x,y-1),(x,y+1),(x-1,y+1),(x-1,y-1),(x+1,y+1), (x+1,y-1)距离为1. 输入 第一行是一个整数N,表示有多少只松鼠.接下来N行,第i行是两个整数x和y,表示松鼠i的家的坐标.(0≤N≤105,…
原题传送门 构造题. 明显p,q都越大越好 我们考虑每次取出度最小的点,加到尴尬聚会的集合中(因为把与它相邻的点全删了,不珂能出现认识的情况),把它自己和与自己相连的点从图上删掉(边也删掉),记下这个点的度,最后找尴尬聚会中度数最大的点,把它及在它之后删除的点加入热闹的聚会的集合中,这时p就是这个点的度数.这时p,q都较大,就珂以过了,正确性我也不会证明 #include <bits/stdc++.h> #define inf 0x3f3f3f3f #define N 10005 #defin…
BZOJ & Luogu 老师说是背包?并没看出来QAQ 设f[i][j][o][p]表示已经选了i个人,j个男生,男生比女生最多多o个,女生比男生最多多p个时的方案数 两种转移: <=n&&o+<=k) (f[i+][j+][o+][max(p-,)]+=f[i][j][o][p])%=mod; -j<=m&&p+<=k) (f[i+][j][max(o-,)][p+]+=f[i][j][o][p])%=mod; 第一种是说:如果男生人数+…
题面 解析 首先对于其中的两个点\(x,y\)最近的点显然就是他们的\(lca\)(我们把它设为\(p1\)), 然后考虑第三个点\(z\)与\(p1\)的\(lca,p2\). 有以下几种情况: \(dep[p1]>=dep[p2]\)(也就是\(p2\)在\(p1\)上面或\(p1=p2\)),这时候答案显然就是\(p1\). \(dep[p1]<dep[p2]\),这时候我们求出\(p3=lca(x,z),p4=lca(y,z)\) \(dep[p3]>dep[p4]\),这时候\…
这题直接换根dp 记录在要转移的点的子树中有多少牛 #include<bits/stdc++.h> using namespace std; #define ll long long #define C getchar()-48 inline ll read() { ll s=0,r=1; char c=C; for(;c<0||c>9;c=C) if(c==-3) r=-1; for(;c>=0&&c<=9;c=C) s=(s<<3)+(s…
今天做题运气出奇的好,除了几处小错误调试之后忘记改掉了……最后还AK了……虽然题目不难,学长也说是福利局,但是对个人的鼓励作用还是挺大的……至此暑假训练就结束了,也算没有遗憾……. 题解如下: Problem A: 苦逼的MCA Time Limits:  1000 MS   Memory Limits:  65536 KB 64-bit interger IO format:  %lld   Java class name:  Main Description 在TUBN这个地方,有个苦逼的人…
3170: [Tjoi 2013]松鼠聚会 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 531  Solved: 249[Submit][Status] Description 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1.现在N个松鼠要走到一个松鼠家去,求走过的最短距离. Input 第一行给出数字N,表示有多少只小松鼠.0<=N<=10^5 下面N行,每…
3170: [Tjoi 2013]松鼠聚会 Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/problem.php?id=3170 Description 有N个小松鼠,它们的家用一个点x,y表示,两个点的距离定义为:点(x,y)和它周围的8个点即上下左右四个点和对角的四个点,距离为1.现在N个松鼠要走到一个松鼠家去,求走过的最短距离. Input 第一行给出数字N,表示有多少只小松鼠.0<…
背景 Background 明天就是candy的生日,candy又会邀请自己的一大堆好友来聚会了!哎!又要累坏飘飘乎居士了!! 描述 Description     明天就是candy的生日.晚上,candy找到了飘飘乎居士.她给了飘飘乎居士一张名单,名单上记录了n个candy的好朋友.可是,飘飘乎居士发现,名单上有好多重复的名字啊,这可急坏了飘飘乎居士.所幸,飘飘乎居士找到了自己的oi朋友,希望能够帮助自己.飘飘乎居士会问某个名字,而你要做的任务就是计算出名单中出现了几次该名字. 题解:  t…
目录: 一.DP 二.图论 1.最短路 2.强连通分量 三.利用单调性维护 四.贪心 五.数据结构 1.并查集 六.数学 1.计数问题 2.数学分析 七.博弈 八.搜索 ////////////////////////////////// 一.DP: 1003: [ZJOI2006]物流运输trans (参见 http://hi.baidu.com/aekdycoin/item/88a8be0bf621c6314ac4a3d5 ) 首先对于某个时间段[i,j],我们可以轻松暴力删点以后求1-n的…