[JZOJ5970] Space
Description
在一个四维空间中,给 \(4\) 个 \(n\) 的排列 \(A,B,C,D\),对于点 \((x,y,z,w)\) ,到点 \((A_x,B_y,C_z,D_w)\) 的花费为 \(1\),到其余点的花费为 \(2\)。有一个人要从 \((1,1,1,1)\) 出发,遍历所有点再回到 \((1,1,1,1)\),问最小花费。\(n\leq 10^5\)。
Sol
以下皆为口胡。
首先要求四维空间环的个数还是挺显然的。
设 \(A'(x)\) 表示在排列 \(A\) 中环长为 \(x\) 的环的个数。那么答案就是:
\[\sum_{A'(a)\ne 0}\sum_{B'(b)\ne0}\sum_{C'(c)\ne0}\sum_{D'(d)\ne0} A'(a)B'(b)C'(c)D'(d)\frac{abcd}{\operatorname{lcm}(a,b,c,d)}\]
这个复杂度是 \(O(n^2)\) 的因为每项中值不为 \(0\) 的大概只有 \(\sqrt n\) 个。大概可以拿并查集搞一下?(再次强调这些都是口胡)
发现这个式子跟 \(abcd\) 四项都有关很烦啊,如果把它拆成只跟 \(ab\) 有关的项和只跟 \(cd\) 有关的项那似乎就可做一点了...?然后拆拆拆之后式子后边那一大坨变成了:
\[\frac{abcd\gcd(\operatorname{lcm}(a,b),\operatorname{lcm}(c,d))}{\operatorname{lcm}(a,b)\operatorname{lcm}(c,d)}=\gcd(a,b)\gcd(c,d)\gcd(\operatorname{lcm}(a,b),\operatorname{lcm}(c,d))\]
惊奇地发现拆成了只跟 \(ab\) 有关的项和只跟 \(cd\) 有关的项。
于是可以维护两个集合 \(S_1,S_2\),\(S_1=\left\{(\gcd(a,b)A'(a)B'(b),\operatorname{lcm}(a,b))\right\}\),\(S_2\) 同理。
于是答案就是:
\[\sum_{(a,b)\in S_1}\sum_{(c,d)\in S_2}ac\gcd(b,d)\]
开始反演魔法
\[\sum_{(a,b)\in S_1}a\sum_{p\mid b}p\sum_{(c,d)\in S_2} c\epsilon(\gcd(b,d)=p)\]
\[\sum_{(a,b)\in S_1}a\sum_{p\mid b}p\sum_{k\mid\frac bp}\mu(k)\sum_{(c,d)\in S_2}c\epsilon(pk\mid d)\]
设 \(f(x)=\sum\limits_{(c,d)\in S_2} c\epsilon(x\mid d)\)
式子变成:
\[\sum_{(a,b)\in S_1}a\sum_{d\mid b}f(d)\sum_{p\mid d}p\mu(\frac dp)\]
后边那个是 \(id*\mu\) 显然等于 \(\varphi\)
\[\sum_{(a,b)\in S_1}a\sum_{d\mid b}\varphi(d)f(d)\]
然后就能通过本题了。
~~什么jb狗题**才写~~
[JZOJ5970] Space的更多相关文章
- java head space/ java.lang.OutOfMemoryError: Java heap space内存溢出
上一篇JMX/JConsole调试本地还可以在centos6.5 服务器上进行监控有个问题端口只开放22那么设置的9998端口 你怎么都连不上怎么监控?(如果大神知道还望指点,个人见解) 线上项目出现 ...
- Eclipse中启动tomcat报错java.lang.OutOfMemoryError: PermGen space的解决方法
有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误, 我们知道可以通过jvm ...
- myeclipse 内存不够用报错PermGen space 和 An internal error has occurred.
最近项目中又增加了新的模块,项目的代码又多了不少.运行的时候总是报如下错误 Exception in thread "http-apr-80-exec-6" java.lang.O ...
- java.lang.OutOfMemoryError: PermGen space及其解决方法
PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决 ...
- User space 与 Kernel space
学习 Linux 时,经常可以看到两个词:User space(用户空间)和 Kernel space(内核空间). 简单说,Kernel space 是 Linux 内核的运行空间,User spa ...
- java.lang.OutOfMemoryError: PermGen space错误解决方法
1. MyEclipse 中报 PermGen space window--> preferences-->Myclipse-->Servers-->Tomcat- ...
- Git使用出错:Couldn‘t reserve space for cygwin‘s heap, Win32
今天使用Git在命令行下更新代码遇到了问题,起初觉得是自己安装某软件导致冲突,从网上搜索了一下找到类似问题,成功解决问题. 错误信息如下: E:\storm-sql>git pull origi ...
- 修改windows自带的Ctrl+Space输入法切换快捷键
使用场景: 多为我等码农使用一些编辑器时,编辑器的默认代码提示热键为 ctrl+space ,但这个热键被系统的输入法开关占用.如果遇到可以设置快捷键的编辑器还好,要是不能设置的话(比如火狐浏览器的代 ...
- Disk Space Usage 术语理解:unallocated, unused and reserved
通过standard reports查看Disk Usage,选中Database,右击,选择Reports->Standard Reports->Disk Space Usage,截图如 ...
随机推荐
- maven学习pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- clickhouse安装使用文档
Clickhouse简介 Clickhouse是什么 1. 开源的列存储数据库管理系统 2. 支持线性扩展 3. 简单方便 4. 高可靠性 5. 容错(支持多主机异步复制,可以跨多个数据中心部署. 单 ...
- [转]Ubuntu16.04下ralink rt3290驱动安装
出处:https://askubuntu.com/questions/253632/how-do-i-get-a-ralink-rt3290-wireless-card-working 解决为问题:L ...
- 05-使用jQuery操作input的value值
表单控件是我们的重中之重,因为一旦牵扯到数据交互,离不开form表单的使用,比如用户的注册登录功能等 那么通过上节知识点我们了解到,我们在使用jquery方法操作表单控件的方法: $(selector ...
- 1.Spring框架入门案例
一.简单入门案例 入门案例:IoC 1.项目创建与结构 2.接口与实现类 User.java接口 package com.jd.ioc; /** * @author weihu * @date 201 ...
- 《Nosql精粹》—— 读后总结
- Zabbix--1
ZABBIX 与其他监控程序比较.
- String类、常量池、字符串比较
String类.常量池.字符串比较 一:String类 1.String类又称作不可变字符序列 2.String位于java.lang包中,Java程序默认导入 ...
- python 开发环境配置
上篇文章配置了虚机基础环境,本篇文章介绍配置python开发环境 配置YUM源 使用国内yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos ...
- [视频]K8飞刀 解密菜刀后门教程
链接:https://pan.baidu.com/s/1raC1S_njxeqS7TaiTN6jLA 提取码:otmb