码迷,mamicode.com
首页 >  
搜索关键字:嘟嘟    ( 188个结果
[ZJOI2008]骑士
嘟嘟嘟 n个点n条边,说明图中存在一个简单环,更准确的说是每一个连通块中存在一个简单环(因为图可能不连通)。 然后有人给这个玩意起了个名字:基环外向树。 然而并没有什么用。 思路很简单:断环为链,就变成了一棵树了。为了防止断开的两端(x, y)同时被选,从x和y分别树形dp一下,然后硬性规定根节点不 ...
分类:其他好文   时间:2018-11-04 21:20:32    阅读次数:166
[JSOI2016]最佳团体
嘟嘟嘟 01分数规划+树形背包。 然后就没了。 结果我调了半天,原因还是树形背包不熟练。 我是用dfs序求的,转化的时候,是dp[i][j]转化到dp[i + 1][j + 1]或dp[i +siz[pos[i]]][j],而不是像普通的dp从别的状态转化到dp[i][j],所以最后的答案应该考虑到 ...
分类:Web程序   时间:2018-11-04 19:34:11    阅读次数:223
luogu P1330 封锁阳光大学
嘟嘟嘟 又刷了一道水题…… 很显然只要判断这个图是否是二分图就行了,判断方法就是染色。如果对于边(u->v),两个点颜色相同,那么就说明图中存在奇环,不是二分图。 统计答案的时候输出两种颜色较小的就行了。 需要注意的是,图可能不连通,或者有些点不存在。 1 #include<cstdio> 2 #i ...
分类:其他好文   时间:2018-10-30 17:15:56    阅读次数:123
luogu P2617 Dynamic Rankings(分块,n <= 1e4)
嘟嘟嘟 带修改区间第k大。 然而某谷把数据扩大到了1e5,所以用分块现在只能得50分。 分块怎么做呢?很暴力的。 基本思想还是块内有序,块外暴力统计。 对于修改,直接重排修改的数所在块,时间复杂度O(√nlogn√n)。 对于询问,二分答案,然后在每个块内再二分统计小于mid的数有几个,块外暴力统计 ...
分类:其他好文   时间:2018-10-29 16:14:36    阅读次数:146
[APIO/CTSC 2007]数据备份
嘟嘟嘟 这竟然是一道贪心题,然而我在不看题解之前一直以为是dp。 首先最优的配对一定是相邻两个建筑物配对,所以我们求出差分数组,就变成了在n - 1个数中选出不相邻的k个数,使这k个数的和最小。 贪心是在回事呢?首先把所有点放在一个小根堆中,然后如果取出一个点ai,就把ai-1 + ai+1 - a ...
分类:Windows程序   时间:2018-10-25 15:40:38    阅读次数:166
[USACO12FEB]牛券Cow Coupons
嘟嘟嘟 这其实是一道贪心题,而不是dp。 首先我们贪心的取有优惠券中价值最小的,并把这些东西都放在优先队列里,然后看[k + 1, n]中,有些东西使用了优惠券减的价钱是否比[1, k]中用了优惠券的物品更划算,是的话就更新。 1 #include<cstdio> 2 #include<iostre ...
分类:其他好文   时间:2018-10-25 11:02:07    阅读次数:205
[BJOI2018]求和
嘟嘟嘟 首先看到k只有50,那么就可以开一个数组预处理出来。 sum[u][k]表示节点u到根节点所有节点深度的k次方和,dfs一遍就都搞出来了,预处理复杂度O(n * 50)(快速幂复杂度不计了)。 查询就是lca复杂度,对于路径(x, y),令z = lca(x, y),则ans(x, y) = ...
分类:其他好文   时间:2018-10-25 00:19:16    阅读次数:235
luogu P3787 冰精冻西瓜
嘟嘟嘟 好题,好题…… 看这个修改和询问,就知道要么是求完dfs序后线段树维护,要么是树剖。又因为这道题都是子树的操作,没有链上的,所以线段树就够了。 然而重点不是这个。这道题最麻烦的是线段树pushdown时对于每一个节点打的标记都不一样,因为每一条边上的能力值不一样。这也是这道题最巧妙的一点:我 ...
分类:其他好文   时间:2018-10-24 22:14:10    阅读次数:210
数字游戏II
题面好难找:嘟嘟嘟 贪心 + dp。 首先要按bi的降序排序,让每一次减少大的数尽量靠前。为啥咧?于是我们就需要证明:令sum = a1 - (1 - 1) * b1 + a2 - (2 - 1) * b2 + a3 - (3 - 1) * b3 + ……+ an - (n - 1) * bn,整理 ...
分类:其他好文   时间:2018-10-24 19:58:41    阅读次数:167
luogu P1503 鬼子进村
嘟嘟嘟 线段树好题。 其实挺水的,想暴力怎么做:每一次从这个点开始向两边扩,直到遇到第一个摧毁的房屋。 那么把暴力改成倍增,然后线段树查询区间和是否为0。时间复杂度O(nlog2n)。 题解好像有线段树的O(nlogn)的做法,但是特别麻烦,也没怎么看懂。 1 #include<cstdio> 2 ...
分类:其他好文   时间:2018-10-24 10:44:49    阅读次数:152
188条   上一页 1 ... 7 8 9 10 11 ... 19 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!