Beautiful Set

Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5321


Mean:

给出一个集合,有两种计算集合的值的方式:
1  对于集合的一种排列方式,求它任意区间的gcd,将所有区间的gcd值加起来,即为该排列方式的值;将集合所有排列方式的值加起来即为集合的值;
2  对于集合,任意取k个数,对于取出k个数,值为k个数的gcd*k;k从1-n(集合总个数),加起来即为集合的值如果集合的值相同,则输出该值,否则输出较大的值。

analyse:

详细分析:http://blog.csdn.net/firstlucker/article/details/47128347

对于方式1,我们计算gcd为i有多少种情况
令F[i]表示gcd为i的倍数的情况总数
则F[i]=∑C(cnt[i],k)*k!*(n-k+1)!
k从1到cnt[i] cnt[i]为集合中i的倍数的数的个数
根据莫比乌斯函数(其中d为n的倍数)

这样就可以先根据公式算出F[i]的值,预处理出莫比乌斯函数的系数,再采用类似素数筛的方式算出f[i],f[i]为gcd为i的情况数,则答案为∑i*f[i] (i从1-集合的最大值).

同理:对于方式2, F[i]=cnt[i]*2^(cnt[i]-1) 同上采用莫比乌斯反演算出f[i],答案即为 ∑i*f[i] (i从1-集合的最大值)

最后比较2个答案,选取较大的值输出即可。

两种形式,用于容斥原理的简化,预处理出系数(nlongn)即可建边算出答案

Time complexity: O(N*logN)

Source code: 

2015 Multi-University Training Contest 3 1006 Beautiful Set的更多相关文章

  1. 2015 Multi-University Training Contest 2 1006 Friends

    Friends Problem's Link: http://acm.hdu.edu.cn/showproblem.php?pid=5305 Mean: n个人,m对朋友关系,每个人的朋友中又分为在线 ...

  2. 2015 Multi-University Training Contest 2 1006 Friends 壮压

    题目链接 题意:t 组測试数据,每组測试数据有 n个人,m条关系 每条关系能够是 "线上关系" 或者 "线下关系". 要求每一个人的线上关系(条数) == 线下 ...

  3. hdu6351 2018 Multi-University Training Contest 5 1002 Beautiful Now

    题意: 给出一个十进制数,数位两两可以交换,给出最多能交换多少次,以及交换后的数不能有前缀0,问能形成最小和最大的数 * * * 尝试的思路 贪心,将字符串先排出最大以及最小的情况,然后按一定顺序将对 ...

  4. HDU 6324.Problem F. Grab The Tree-博弈(思维) (2018 Multi-University Training Contest 3 1006)

    6324.Problem F. Grab The Tree 题目看着好难,但是题解说的很简单,写出来也很简单.能想出来就是简单的,想不出来就难(讲道理,就算是1+1的题目,看不出来就是难的啊). 和后 ...

  5. 2019 Multi-University Training Contest 8 - 1006 - Acesrc and Travel - 树形dp

    http://acm.hdu.edu.cn/showproblem.php?pid=6662 仿照 CC B - TREE 那道题的思路写的,差不多.也是要走路径. 像这两种必须走到叶子的路径感觉是必 ...

  6. 2019 Multi-University Training Contest 7 - 1006 - Snowy Smile - 线段树

    http://acm.hdu.edu.cn/showproblem.php?pid=6638 偷学一波潘哥的二维离散化和线段树维护最大子段和. 思路是枚举上下边界,但是不需要从左到右用最大子段和dp. ...

  7. 2019 Multi-University Training Contest 3 - 1006 - Fansblog - 打表 - 暴力

    http://acm.hdu.edu.cn/showproblem.php?pid=6608 题意:给一个比较大的质数P(1e14以内),求比它小的最大的质数Q(貌似保证存在的样子,反正我没判不存在) ...

  8. 2015 Multi-University Training Contest 8 hdu 5385 The path

    The path Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on HDU. Original ID: 5 ...

  9. HDU 6351.Beautiful Now-暴力、全排列、思维 (2018 Multi-University Training Contest 5 1002)

    2018 Multi-University Training Contest 5 6351.Beautiful Now 题意就是交换任意两个数字,问你交换k次之后的最小值和最大值. 官方题解: 哇塞, ...

随机推荐

  1. Centos 安装Apache软件

    检查rpm    -qa    httpd [root@luozhonghua icons]# rpm    -qa   |grep  httpd httpd-2.2.15-30.el6.centos ...

  2. TCP协议中的SO_LINGER选项

    TCP协议中的SO_LINGER选项 SO_LINGER选项用来设置延迟关闭的时间,等待套接字发送缓冲区中的数据发送完成.没有设置该选项时,在调用close()后,在发送完FIN后会立即进行一些清理工 ...

  3. 异步任务,HttpContext.Current为null解决办法

    最近在开发一个后台管理系统项目,为了提高登录的速度,就把记录登录日志放到一个异步任务里面. Action taskAction = () => { SaveLog(); }; Task task ...

  4. 协议名称处理函数xxxprotoxxx()

    为了方便操作,Linux提供了一组用于查询协议的值及名称的函数. xxxprotoxxx()函数: 上面的函数对文件/etc/protocols中的记录进行操作,文件中记录了协议的名称.值和别名等值, ...

  5. Python 更新dict

    更新dict 对需要更新的key-value 直接赋值即可dict是可变的,也就是说,我们可以随时往dict中添加新的 key-value.比如已有dict:d = { 'Adam': 95, 'Li ...

  6. ant design pro (六)样式

    一.概述 参看地址:https://pro.ant.design/docs/style-cn 基础的 CSS 知识或查阅属性,可以参考 MDN文档. 二.详细介绍 2.1.less Ant Desig ...

  7. TypeScript 面向对象基础知识

    孙广东  2016.4.5 JavaScript如今到处都是.web.server(通过NodeJS).移动应用(通过各种框架).全部这些,TypeScript都能够使用,而且能够为JavaScrip ...

  8. Linux内核开发之异步通知与异步I/O(一)

    “小王,听说过锦上添花吧..”我拍拍下王的头说. “还锦上添花你,为你上次提的几个东东,我是头上长包..”小王气愤地瞪着我. “啊,为啥这样呢,本来还特意拒绝了MM的月份,抽出时间打算给你说点高级的东 ...

  9. iOS GZWaterfall任何形式的瀑布流

    概述 使用UICollectionView可以布局各种各样的瀑布流,下面我写了几种不同布局的瀑布流样式 详细 代码下载:http://www.demodashi.com/demo/11018.html ...

  10. POS配置

    1.配置 (1) 房产局 (2) 银联端 2.运行 (1)   房产端 右击BizMAPSSP项目---Run As—run congfigurations—Java Application—选择Bi ...