THUSC2017题解
THUSC2017题解
题目都是在LOJ上交的。
chocolate
这题看着就让人想起了百度之星复赛的\(T5\),就是这题。
因为种类的个数很多,所以把每个种类随意\(rand\)一个\([1,k]\)的权值做一个映射,这样子随机若干次的正确率就会很高。
接下来考虑如何计算要求的东西,这个东西很显然就是要求解一个中位数最小的斯坦纳树。
中位数显然直接二分处理掉,转为求解在用的块数最小的前提下的最小的大于中位数的值的个数。
斯坦纳树求解即可。
讲个卡常小细节,上面这个东西我们转移的时候显然是可以构建一个二元组转移,优先级较高的是块的个数,较低的是小于二分值的个数,这个东西哈希一下,给他们定义一个权值,如果小于二分值则给一个\(1001\),否则给个\(1000\),这样子也可以做到二元组的效果。
代码就戳提交记录吧,提交记录。
dls
考虑一个很暴力的想法,如果我们知道每个数的每个质因子的出现情况的奇偶性,把它压成一个二进制数,那么问题就转为了给你若干个二进制数,你要从中选出若干个数使得他们的异或和为\(0\),求解方案数。
那么构建线性基之后答案显然是\(2^{R-L+1-tot}\),其中\(tot\)是线性基中的元素个数。
问题在于怎么构建这个线性基,然后计算其中元素的个数。
如果\(R-L\)足够大的时候,我们就认为只要在\([L,R]\)之间出现过的质数就会被加入到线性基中。
否则\(R-L\)很小,我们把所有质因子全部找出来,然后暴力\(bitset\)构建线性基计算。
这个值大概取到\(6000\)左右就可以保证正确性了。
提交记录戳这里
seat
这题很明显就是一个费用流的模型。
但是如果直接爆力两两之间连边也是不可取的。
发现每个人可以坐的桌子是一段连续区间,
同时到每个座位的贡献也不同,那么把\(m\)个位置拆开,即现在有了\(m\)个\([1,n]\)的区间。
当前点可以向这些区间连边,那么就改为线段树优化连边,特定位置转到某个位置的贡献很好算,但是移动桌子的贡献就不好算了。
其实也不麻烦,假设当前这个人所在的桌子在他目标桌子的左边。
那么对于线段树的每个节点,如果要向右儿子走,必定会跨过所有左儿子,所以加上两倍左儿子大小的贡献。
反过来,如果在目标桌子的右侧的话,就是向左儿子走的时候产生贡献。
那么就再把每棵线段树拆成两棵,分别对应左儿子产生贡献以及右儿子产生贡献。
这样子一共维护\(2m\)棵线段树进行优化连边就好了。
注意一下,每次点向区间连边的时候,不需要对\(2m\)棵每棵都连边,只需要向它自己所在位置的那棵线段树连边就行了,最后再把同一个桌子上的相邻位置之间连费用为\(1\)的边就好了。
magic
说个小秘密,这题曾经被毒瘤\(wfj\_2048\)出到了\(NOIP2017\)模拟赛中。那个时候菜得不行的我连线段树都写不好还写这种题。。。。
不过现在看海星吧。
三个三元组之间互相关联,所以可以把操作都写成一个\(3*3\)的矩阵的形式,那么三个值就是一个\(1*3\)的行向量。然后线段树直接区间维护一下就好啦。
然而有些操作和区间长度相关,所以再加一维维护区间长度就好啦。
然而这题有点卡常,稍微注意一下常数上的优化。
提交记录戳这里
farben
看到本质不同的方案数肯定是\(Burnside\)引理了。
那么要求的就是对于每一种置换的不动点数量。
显然对于每种旋转\(d\)个元素的置换而言,其循环节大小为\(gcd(n,d)\)。
然后可以矩乘计算循环节长度为\(i\)时的方案数\(f[i]\)。
那么答案就是\(\frac{1}{n}\sum_{d|n}\varphi(\frac{n}{d})f[d]\)。
约数个数很少,甚至可以暴力,所以问题在于怎么求解\(f\)数组。
显然直接求是没办法了,所以提前打好表预处理出前面若干项,然后直接\(BM\)解递推式,再用线性齐次常系数递推那套理论就可以快速计算\(f\)的值了。
提交记录戳这里
tangent
题答题,先咕了。
THUSC2017题解的更多相关文章
- THUSC2017 Day1题解
THUSC2017 Day1题解 巧克力 题目描述 "人生就像一盒巧克力,你永远不知道吃到的下一块是什么味道." 明明收到了一大块巧克力,里面有若干小块,排成n行m列.每一小块都有 ...
- 【THUSC2017】【LOJ2981】如果奇迹有颜色 DP BM 打表 线性递推
题目大意 有一个 \(n\) 个点的环,你要用 \(m\) 中颜色染这 \(n\) 个点. 要求连续 \(m\) 个点的颜色不能是 $1 \sim m $ 的排列. 两种环相同当且仅当这两个环可以在旋 ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
随机推荐
- iOS中的截屏(屏幕截屏及scrollView或tableView的全部截屏)
iOS中的截屏(屏幕截屏及scrollView或tableView的全部截屏) 2017.03.16 12:18* 字数 52 阅读 563评论 4喜欢 2 1. 截取屏幕尺寸大小的图片并保存至相册 ...
- linux中mariadb的安装
在Linux中mariaDB的安装 MariaDB其实就是MySQL的分支,是为了应对MySQL的即将的闭源风险所产生的. Linux系统中软件包的格式为mysql.rpm格式. 通过yum去安装 L ...
- Eclipse支持文件UTF-8编码
Eclipse修改编码格式_百度经验https://jingyan.baidu.com/article/2009576193ee38cb0721b416.html 这篇最棒 如何为eclipse中的文 ...
- IdentityServer4【QuickStart】之利用OpenID Connect添加用户认证
利用OpenID Connect添加用户认证 利用OpenID Connect添加用户认证 在这个示例中我们想要通过OpenID Connect协议将交互用户添加到我们的IdentityServer上 ...
- HashMap深度解析(转载)
原文地址:http://blog.csdn.net/ghsau/article/details/16890151 实现原理:用一个数组来存储元素,但是这个数组存储的不是基本数据类型.HashMap实现 ...
- [转帖]前端-chromeF12 谷歌开发者工具详解 Console篇
前端-chromeF12 谷歌开发者工具详解 Console篇 https://blog.csdn.net/qq_39892932/article/details/82655866 趁着搞 cloud ...
- Linux 下面 PG 的 uuid-ossp 包安装办法
1. pgsql 安装 时报错, 如图示: 详细信息为: 执行SQL为: CREATE EXTENSION IF NOT EXISTS "uuid-ossp" 错误纤细信息为: C ...
- ToroiseGit提交代码上传到阿里云的Gitlab
https://blog.csdn.net/xiaomogg/article/details/51903004(copy) 准备 具体过程 准备 1.拥有一个GitHub账户 2.安装了Tortois ...
- If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
学习Spring Boot 过程中遇到了下列这个问题 Description: Failed to configure a DataSource: 'url' attribute is not spe ...
- idea创建maven项目的一点关键
maven中的一些概念: POM:项目对象模型(Project Object Model),是项目的一些关键元信息的集合.主要包含项目管理信息.具体的项目描述.开发小组的构 成.源代码库(如CVS)和 ...