树
编号21212
SSL是母校,现前往新地图开拓中。
漫游于平行线间的灰鲤,于此处激起黑色孤独的水花。
展开
-
【模拟】【树】这是一棵树吗?
题目 解 对于一棵大小为n的树,它必定有n-1条边,而且除了大小为1的树以外的树的节点都肯定有一条边连向他。判断一下就好。 代码 #include<cstdio> long long n,a[1000001],z,l,lz; int main(){ scanf("%lld", &n); for(long long i = 1; i <= n; ++i){ scanf("%lld", &a[i]); z = z + a[i]; //边 if(a[i]原创 2020-08-24 15:42:04 · 102 阅读 · 0 评论 -
【DP】送你一颗圣诞树
这题…就是很毒瘤。玄学map。玄学pair。否则大点炸掉。 解 DP。 ans[i]为第i颗树的美观度。 topx(nowt,x)为在第nowt颗树上所有点到x点的距离和 disx(nowt,x,y)为在第nowt颗树上x点到y点的距离 关于转移:(模拟一下,分类讨论一下,得到代码) 把当前的树拆成两个树(当初拼成它的数)然后判断各种情况,递归,记忆化搜索。虽然代码繁琐(chou)了(亿)点,但还是比较好理解的(?) 详见代码。(万能句) 然后便是%%%%%%(只要我%得够标准WA就找不上原创 2020-08-18 21:53:13 · 169 阅读 · 0 评论 -
【最小生成树】洛谷P2259 Charmer--viv
双倍经验!(窥屏+水) 题链——Link 另一题题链——Link 题目 Sample input 5 1 2 3 4 5 4 3 2 1 3 4 5 2 1 5 Sample output 7 解 同这篇。题目大意,样例,思路,代码都是一样的。 不过这题的说明没有另一题清楚——它没说明“球”有几个。然而实际上它有若干个“球”。如果只有一个“球”的话,那便应该是另一种解法了。 ...原创 2020-08-16 21:06:45 · 375 阅读 · 1 评论 -
【树状数组】【离散化】简单计算器
题目 Sample input 4 1 4 3 2 Sample output 3 解 离散化+树状数组 这里引用至一篇别人的博客 当数据的范围较小时,比如maxn=100000,那么我们可以开一个数组c[maxn],来记录前面数据的出现情况,初始化为0;当数据a出现时,就令c[a]=1。这样的话,欲求某个数a的逆序数,只需要算出在当前状态下c[a+1,maxn]中有多少个1,因为这些位置的数在a之前出现且比a大。但是若每添加一个数据a时,就得从a+1到 maxn搜一遍,复杂度太高了。树状数组却能原创 2020-08-16 19:47:38 · 120 阅读 · 0 评论