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. SOAP UI-----测webservice接口

    webservice的请求报文和返回报文都是xml格式的. 使用soapui.storm对webservice接口进行测试,postman无法测. http://www.webxml.com.cn/W ...

  2. MySQL数据库导入错误:ERROR 1064 (42000) 和 ERROR at line xx:

    https://www.cnblogs.com/yeahgis/p/4358973.html mysql -hlocalhost -uroot -proot --default-character-s ...

  3. java的数据类型:基本数据类型和引用数据类型

    Java数据类型的基本概念 数据类型在计算机语言里面,是对内存位置的一个抽象表达方式,可以理解为针对内存的一种抽象的表达方式. 开始接触每种语言的时候,都会存在对数据类型的认识,有复杂的,有复杂的,各 ...

  4. [转帖]SAP一句话入门:Production Planning

    SAP一句话入门:Production Planning http://blog.vsharing.com/MilesForce/A617692.html SAP是庞大的,模块是多多的,功能是强大的, ...

  5. POJ1108_Split Windows 解题报告

    Split Windows 题目链接:http://poj.org/problem?id=1108 题目大意: 给你一棵二叉树的先序遍历,有三种字符:|.-.A~Z,然后用窗口表示出来,|: 表示将当 ...

  6. Python基础知识2-内置数据结构(上)

     分类 数值型 用浮点型的时候注意别和"=="一起使用. 数字的处理函数 注意round()函数的特殊:四舍六入五取偶 类型判断 列表list 列表list定义 初始化 列表索引访 ...

  7. Linux基础学习笔记5-软件管理

    包管理器 二进制应用程序的组成部分: 二进制文件.库文件.配置文件.帮助文件 程序包管理器: debian:deb文件.dpkg包管理器 redhat:rpm文件.rpm包管理器 rpm:Redhat ...

  8. scrapy 项目搭建

    安装好scrapy后,开始创建项目 项目名:zhaopin   爬虫文件名:zhao 1:cmd  --  scrapy startproject zhaopin 2:cd zhaopin,进入项目目 ...

  9. jQuery 操作Cookie

    一个轻量级的cookie 插件,可以读取.写入.删除 cookie. 下载地址:http://plugins.jquery.com/cookie/ (在实际中可以用这个保存cookie保存用户的习惯, ...

  10. Redux 学习(1) ----- Redux介绍

    Redux 有三个基本的原则: 1,单一状态树,redux 只使用一个javascript 对象来保存整个应用的状态. 状态树样式如下: const state = { count: 0 } 2,状态 ...