THUSC2017题解

题目都是在LOJ上交的。

chocolate

LOJ#2977巧克力

这题看着就让人想起了百度之星复赛的\(T5\),就是这题
因为种类的个数很多,所以把每个种类随意\(rand\)一个\([1,k]\)的权值做一个映射,这样子随机若干次的正确率就会很高。
接下来考虑如何计算要求的东西,这个东西很显然就是要求解一个中位数最小的斯坦纳树。
中位数显然直接二分处理掉,转为求解在用的块数最小的前提下的最小的大于中位数的值的个数。
斯坦纳树求解即可。
讲个卡常小细节,上面这个东西我们转移的时候显然是可以构建一个二元组转移,优先级较高的是块的个数,较低的是小于二分值的个数,这个东西哈希一下,给他们定义一个权值,如果小于二分值则给一个\(1001\),否则给个\(1000\),这样子也可以做到二元组的效果。
代码就戳提交记录吧,提交记录

dls

LOJ#2978杜老师

考虑一个很暴力的想法,如果我们知道每个数的每个质因子的出现情况的奇偶性,把它压成一个二进制数,那么问题就转为了给你若干个二进制数,你要从中选出若干个数使得他们的异或和为\(0\),求解方案数。
那么构建线性基之后答案显然是\(2^{R-L+1-tot}\),其中\(tot\)是线性基中的元素个数。
问题在于怎么构建这个线性基,然后计算其中元素的个数。
如果\(R-L\)足够大的时候,我们就认为只要在\([L,R]\)之间出现过的质数就会被加入到线性基中。
否则\(R-L\)很小,我们把所有质因子全部找出来,然后暴力\(bitset\)构建线性基计算。
这个值大概取到\(6000\)左右就可以保证正确性了。
提交记录戳这里

seat

LOJ#2979换桌

这题很明显就是一个费用流的模型。
但是如果直接爆力两两之间连边也是不可取的。
发现每个人可以坐的桌子是一段连续区间,
同时到每个座位的贡献也不同,那么把\(m\)个位置拆开,即现在有了\(m\)个\([1,n]\)的区间。
当前点可以向这些区间连边,那么就改为线段树优化连边,特定位置转到某个位置的贡献很好算,但是移动桌子的贡献就不好算了。
其实也不麻烦,假设当前这个人所在的桌子在他目标桌子的左边。
那么对于线段树的每个节点,如果要向右儿子走,必定会跨过所有左儿子,所以加上两倍左儿子大小的贡献。
反过来,如果在目标桌子的右侧的话,就是向左儿子走的时候产生贡献。
那么就再把每棵线段树拆成两棵,分别对应左儿子产生贡献以及右儿子产生贡献。
这样子一共维护\(2m\)棵线段树进行优化连边就好了。
注意一下,每次点向区间连边的时候,不需要对\(2m\)棵每棵都连边,只需要向它自己所在位置的那棵线段树连边就行了,最后再把同一个桌子上的相邻位置之间连费用为\(1\)的边就好了。

提交记录戳这里

magic

LOJ#2980大魔法师

说个小秘密,这题曾经被毒瘤\(wfj\_2048\)出到了\(NOIP2017\)模拟赛中。那个时候菜得不行的我连线段树都写不好还写这种题。。。。
不过现在看海星吧。
三个三元组之间互相关联,所以可以把操作都写成一个\(3*3\)的矩阵的形式,那么三个值就是一个\(1*3\)的行向量。然后线段树直接区间维护一下就好啦。
然而有些操作和区间长度相关,所以再加一维维护区间长度就好啦。
然而这题有点卡常,稍微注意一下常数上的优化。
提交记录戳这里

farben

LOJ#2981如果奇迹有颜色

看到本质不同的方案数肯定是\(Burnside\)引理了。
那么要求的就是对于每一种置换的不动点数量。
显然对于每种旋转\(d\)个元素的置换而言,其循环节大小为\(gcd(n,d)\)。
然后可以矩乘计算循环节长度为\(i\)时的方案数\(f[i]\)。
那么答案就是\(\frac{1}{n}\sum_{d|n}\varphi(\frac{n}{d})f[d]\)。
约数个数很少,甚至可以暴力,所以问题在于怎么求解\(f\)数组。
显然直接求是没办法了,所以提前打好表预处理出前面若干项,然后直接\(BM\)解递推式,再用线性齐次常系数递推那套理论就可以快速计算\(f\)的值了。
提交记录戳这里

tangent

LOJ#2982宇宙广播

题答题,先咕了。

THUSC2017题解的更多相关文章

  1. THUSC2017 Day1题解

    THUSC2017 Day1题解 巧克力 题目描述 "人生就像一盒巧克力,你永远不知道吃到的下一块是什么味道." 明明收到了一大块巧克力,里面有若干小块,排成n行m列.每一小块都有 ...

  2. 【THUSC2017】【LOJ2981】如果奇迹有颜色 DP BM 打表 线性递推

    题目大意 有一个 \(n\) 个点的环,你要用 \(m\) 中颜色染这 \(n\) 个点. 要求连续 \(m\) 个点的颜色不能是 $1 \sim m $ 的排列. 两种环相同当且仅当这两个环可以在旋 ...

  3. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  4. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  5. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  6. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  7. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  8. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  9. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

随机推荐

  1. Django lazy load 懒加载 倒序查询

    Django orm默认懒加载   Django orm默认使用的懒加载,即使用的时候才去访问数据库,且每次默认取最少的数据,当然这样有好处也有坏处... 坏处: 会导致频繁的查询数据库,如涉及到外键 ...

  2. Python_数据类型的补充、集合set、深浅copy

    1.数据类型的补充 1.1 元组 当元组里面只有一个元素且没有逗号时,则该数据的数据类型与括号里面的元素相同. tu1 = ('laonanhai') tu2 = ('laonanhai') prin ...

  3. jmeter压测

    一般压测时间:10-15分钟   这些并发用户一直在请求. 稳定性测试:一周  2天 衡量性能好坏的指标: tps 服务端每秒钟能处理的请求数 rt响应时间 就是你从发出请求到服务器端返回所需的时间. ...

  4. MySQL使用select查询时,在查询结果中增加一个字段并指定固定值

    假设需求是这样的: mysql> desc user; +-------+----------+------+-----+---------+----------------+ | Field ...

  5. MYSQL行号

    mysql 实现行号的方法——如何获取当前记录所在行号 - senly - 博客园http://www.cnblogs.com/xinlei/archive/2011/12/16/2290349.ht ...

  6. 五、es6 Set

    一.特点 1.是一个构造函数 2.类数组,元素唯一.没有重复 二.new Set(); 二.构造函数接受数组将数组转换成Set数据结构,[...new Set(1,3)],转化成对象: console ...

  7. pHP生成唯一单号

    这几天一直在写个人使用的用户中心,虽然期间遇到不少的问题,但还是一点点的都解决了,也从制作期间学到不少的知识,今天就说一说利用PHP生成订单单的方法. 订单号,大家都不陌生,无论从在网上购物,还是在线 ...

  8. bootstrap modal垂直居中(简单封装)

    1.使用modal 弹出事件方法: 未封装前: <!DOCTYPE html> <html lang="en"> <head> <meta ...

  9. 【apache2】AH00543: httpd: bad user name apache

    当启动 apache 时,出现一下异常:AH00543: httpd: bad user name daemon 解决方法:            #groupadd daemon          ...

  10. Sqoop 使用详解(内含对官方文档的解析)

    Sqoop 是 Cloudera 公司创造的一个数据同步工具,现在已经完全开源了. 目前已经是 hadoop 生态环境中数据迁移的首选,另外还有 ali 开发的 DataX 属于同类型工具,由于社区的 ...