[JOISC2020] 首都
摘要:传送门 题意(建议看原题面)
n个点,
k种颜色,每个点有一个颜色
ci。一次操作可以合并两种颜色。问最少多少次操作可以使存在一种颜色,把该颜色的点提取出来是联通的,换句话说该颜色的点两两之间(路径)不经过其它颜色。 思路 先口胡一下我不太想写的倍增优化建图+Tarjan,贺了firm的代
阅读全文
[SDOI2013]直径(树上问题)
摘要:description 给一棵树,问你直径长度与被所有直径经过的边的数量。 solution 直径的长度以及直径的路径可以由两遍dfs求得与记录。 易发现,被所有直径经过的边集可以构成连续一段的路径。 反证:如下图: 因此按上面所说找到任意一条直径路径后,找满足答案路径(边集)的左右断点。 设直径(
阅读全文
[WC2018]通道
摘要:luogu传送门 这是我写过最难写的之一,写到AC的总时间有8h。另外Racheal,byebye~嘿嘿 Description
n个点,给三棵树,问
x到
y在三棵树上的路径权值和最大。 Solution 第一棵树上边分治,边权为
w,划分为点集S和T。令
d1i为
i在T1中到边
阅读全文
【LNOI2014】LCA
摘要:题意 有一个很巧妙的转化:求x,y的dep[lca(x,y)]可以先x到根的路径上加1,然后查询y到根路径上的和。 所以x->[l,r]的lca和,可以转化为,先把[l,r]中每个到根的路径+1,再求一次x到根的前缀和。 然后[l,r]这种显然可以差分为两个询问[1..r]和[1..l-1],因此先
阅读全文
2.19日周赛
摘要:一共打了100+70+0=170的成绩。 题目不算太难,但是感觉思维还是有很多问题,就像英语完型错4个一样的思维错误,不站在作者的角度去理解文意,按自己的来想。同理,这里也要在出题人的角度思考。 T1.异或相加 题意:把序列A分成两部分,求两部分异或和再加起来的最大值。 思路:x+(xorsum ^
阅读全文
[SDOI2017]苹果树
摘要:此题爆肝一个晚上的菜鸡,呜呜呜 题意:luogu P3780 一棵树,每个点都有全值和取它次数的上限。h为你所取的最大深度(根为1),c为你取的个数,满足c-h<=k(k题目给出) 思路: 相当于免费取一条链(尽量长肯定到叶子),然后我么可以想到暴力枚举这条链。 除了链上的点之外的其它点都要满足父子
阅读全文
奶盖拌饭 NKOJ8457
摘要:题意:一个无向图,每次询问给出一条边,问这条边的最大值满足这条边一定在这个图的最小生成树上,如果没有上限输出-1。 思路:考场上想过的,将分为两类,(非)树边。 1.亿点性质 非树边:加上这条边所构成的环上的边都可能替代它,所以它应该是两点树上路径max-1 树边:若树边在非树边两端点的路径上,则该
阅读全文
最长公共子序列
摘要:题意:在一棵树上dfs,求前序遍历和后序遍历的最长公共子序列,及其方案数(当然有多种dfs序,每种都有多种公共子序列方案) 思路: 我是sb. 1.考场上想的是子段。 2.思维不够灵活,考后做题思考的时候没有从子段转化成子序列。认定了叶子就不会认可其它的可能(还是老毛病了) 3.特判的时候思考不够仔
阅读全文
【JSOI2016】最佳团体
摘要:思路:二分答案+动态规划(结合dfs序) 类型:选/不选:最大比值 代码: #include<stdio.h> #include<bits/stdc++.h> using namespace std; const int N=2505; int rt=0,k,n,f[N]; double eps=1
阅读全文