ICode9

精准搜索请尝试: 精确搜索
  • luogu P4336 [SHOI2016]黑暗前的幻想乡2021-07-17 23:35:46

    题面传送门 这个\(n\)这么小肯定是拿来状压的。 我们考虑设\(F_{i}\)为仅用\(i\)种公司生成的树方案数。 但是这个东西不是很好做,我们考虑设一个弱一点的状态:\(G_i\)表示用了\(i\)个公司的方案数。 这个\(G\)显然可以状压在\(O(n^32^n)\)时间内达到。 然后考虑\(G\)怎么推出\(F\)

  • [SHOI2016]黑暗前的幻想乡2021-01-30 10:02:12

    Link Description 有 \(n-1\) 个边集,从每个边集里选一条边,使得有 \(n\) 个点的图 \(G\) 连通,求方案数。 Solution 如果直接把所有边建好矩阵跑 Matrix-tree 的话,可能会有多条边来自同一边集,同时有些边集没有选到。所以强制不选其中 \(k\) 个边集的边,然后建图,每次都跑 Matrix-tree,

  • [洛谷P4336] SHOI2016 黑暗前的幻想乡2020-07-26 22:31:47

    问题背景 四年一度的幻想乡大选开始了,最近幻想乡最大的问题是很多来历不明的妖怪涌入了幻想乡,扰乱了幻想乡昔日的秩序。但是幻想乡的建制派妖怪(人类)博丽灵梦和八云紫等人整日高谈所有妖怪平等,幻想乡多元化等等,对于幻想乡目前面临的种种大问题却给不出合理的解决方案。 风见幽香是

  • JLOI/SHOI2016方2020-03-21 15:57:19

    SOL: \(f_i\)表示至少含\(i\)个点的正方形 运用容斥\(ans=f_0-f_1+f_2-f_3+f_4\) \(f_0\)每个正方形可以转为边长个\(\sum i*(n-i+1)*(m-i+1)\) \(f_1\)分四块,每块算穿插其中的 我们先看上方那块,向左\(l\),向右\(r\),向上\(u\) 每个扭曲的正方形可以恰好旋成一个正的正方形 \(t=

  • 随机序列[SHOI2016](找规律+线段树)2020-02-02 14:02:21

    传送门 这道题的题意就是给你n个数让你在每个数之间插入+、-、*三种运算符中的一种,然后算出一个答案,再把答案加起来。 这题肯定是不能暴力的(题目都告诉你了由3n-1种结果)。我们先从小的情况枚举找一找规律。 n=1 a1 n=2 2*a1+a1*a2 n=3 6*a1+2*a1*a2+a1*a2*a3 n=4 18*a1+6*a1*a2+

  • [SHOI2016] 黑暗前的幻想乡2019-08-15 22:00:29

    容斥原理。 首先看到题意,发现必然需要求一系列图的生成树数量,因此想到先引入矩阵树定理来求解。 然后考虑如何求得满足限制的方案数。 直接算需要考虑到之前哪个公司已经修了边,修了哪些边,很难做。 可以容斥,先求出所有可以形成的生成树的总数。 此时会发现明显算多了,刚好由 n - 1

  • [LOJ2027] [SHOI2016] 黑暗前的幻想乡2019-05-01 16:55:46

    题目链接 LOJ:https://loj.ac/problem/2027 洛谷:https://www.luogu.org/problemnew/show/P4336 Solution 这题很像[ZJOI2016]小星星,注意到如果没有每个边集选一条边的限制的话,直接就是一个果的\(\rm matrix \ tree\)定理。 那么有这个限制我们算出来的生成树个数就会有不合法的情况,

  • 「SHOI2016」黑暗前的幻想乡 解题报告2019-03-12 15:47:33

    「SHOI2016」黑暗前的幻想乡 sb题想不出来,应该去思考原因,而不是自暴自弃 一开始总是想着对子树做dp,但是状态压不起去,考虑用容斥消减一些条件变得好统计,结果越想越乱。 期间想过矩阵树定理,但没想清楚又被我忽略了。 其实非常简单 你对着所有的东西跑一遍生成树计数,然后你发现统计了

  • [洛谷P4340][SHOI2016]随机序列2019-02-18 19:01:17

    题目大意:有$n(n\leqslant10^5)$个数,每两个数之间可以加入$+-\times$三种符号,$q(q\leqslant10^5)$次询问,每次询问修改一个数后,所有表达式可能的值的和 题解:发现任意一个表达式,把所有的$+-$取反,后面的值为相反数,相互抵消,而第一项的连乘,符号一定是正的。所以只有最开始连乘的一段是有

  • P4340 [SHOI2016]随机序列2019-01-31 10:41:40

    题目 P4340 [SHOI2016]随机序列 思维好题 做法 是否觉得水在于你是否发现加减是会抵消的,所以我们只用考虑乘的部分 一块乘只能前面无号(也就是前缀形式)才统计,所以用线段树维护区间前缀乘就行了 My complete code #include<cstdio> #include<cstring> #include<string> #include<io

  • 【SHOI2016】黑暗前的幻想乡2019-01-30 10:41:49

    题面 题解 如果没有建筑公司的限制,那么就是个\(\mathrm{Matrix\;tree}\)板子 其实有了也一样 发现\(n\leq 17\),考虑容斥 每次钦定一些建筑公司,计算它们包含的边的生成树的方案数 复杂度\(\mathrm{O}(2^nn^3)\) 代码 #include<cstdio> #include<cstring> #include<cctype> #include<

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有