嵊州D1T4 cf1174E

此题为改编题,原题:cf1174E

占梦人

占梦人一个晚上会做 n 个梦,编号为 1 ∼ n,她可以安排做这 n 个梦的顺序。

假如她第一个做了编号为 x 的梦,那么她的初始灵力值就是 x。

接着,如果她在灵力值为 x 的时候 做了编号为 y 的梦,他的灵力值会变成 gcd(x, y)。

只有当灵力值改变时,她才可能预言到一些事情。

她希望能预测到的事情尽量多,那么有多少种安排去做 n 个梦寻找的顺序呢?

请给出答案 %1000000007 的结果。

Input

一行一个整数 n。

Output

一行一个整数表示答案。

Examples

dreams.in dreams.out
2 1
3 4
6 120
58462 250302017

Notes

对于所有数据,满足 2 ≤ n ≤ 107

Subtask1[28pts]

n ≤ 10

Subtask2[5pts]

n ≤ 13

Subtask3[20pts]

n ≤ 20

Subtask4[26pts]

n ≤ 106

Subtask5[21pts]

无特殊限制


Solve!

看到结尾的%1000000007

好熟悉呀!!!

好想翻书!

肯定做过!

好后悔!!!

所以,这告诉我们:

书到用时方恨少!

不瞎扯,继续讲吧!

首先,和上一题一样,先敲一个gcd(a,b)出来嘛。放那里总会有用的!

(光是这个gcd我就调试了10分钟呢。。。)

一定要背牢呀!

(说好不瞎扯的呢?)

咳咳。。。

继续!

int gcd(int x,int y) { return y==?x:gcd(y,x%y);}

口诀:

若y仍然不为零,gcd(y,mod);

待到y等于零时,返回此时x!

接着!

原题题意

定义gi是排列p1,p2...pi的的GCD(长度为i的前缀GCD),f(p)是 g1,g2..gn中独特的元素个数

让fmax(n) 成为f(p)在所有整数1,2...n的排列中的最大值,给出整数n,给出满足f(p)=fmax(n)的排列个数 mod(1e9+7)

所以,首个元素s必然有最多的质因数。这样才能在之后n-1次gcd中,获得更多的变化嘛。

每次gcd改变时,只能从其中拿走一个质因数,这样我们可以保证有尽可能多的独特gcd。

解析题目

简单的,

因为n比较小

再看看

Subtask2[5pts]

n ≤ 13

我测试了一下,还用原方法会超时的。。。

打表吧?

枚举Subtask

即s只能被2和3整除,因为如果s有其他的质因数p(p>4),我们可以s/p*4,这样可以得到更多质因数。

s=2^x*3^y,即s只能被2和3整除,因为如果s有其他的质因数p(p>4),我们可以s/p*4,这样可以得到更多质因数。

 #include<cstdio>
#include<algorithm> using namespace std; int cal(int x, int y) {return y ? cal(y, x % y) + x / y : x > ? 1e9 : -;} int n, i, ans; int main()
{
//freopen("sleepingbeauty.in","r",stdin);
//freopen("sleepingbeauty.out","w",stdout); ans = INT_MAX;
scanf("%d", &n);
for(int i = ; i <= n; ++i)
ans = min(ans, cal(n, i));
printf("%d", ans); return ;
}

记得消化!!!!!!!!!!!!!!!

嵊州D1T4 cf1174E 占梦人的更多相关文章

  1. NEUQ OJ 2004:追梦之人 (计数数位dp)

    2004: 追梦之人 描述 题目描述: 为了纪念追梦人,粉丝们创造了一种新的数——“追梦数”.追梦数要满足以下两个条件:1.数字中不能出现“7”2.不能被7整除.比如:777和4396就不是追梦数,而 ...

  2. 人撒娇地撒基督教扫ID祭扫我京东is啊单间

    下下卷惜西,清首花我下望心如单水.低如见惜折 卷水满门我,如二折莲开低下悠子鸦.南水水暮洲 凄暮红过在,莫处言树鸿怀莲绿门莲.杆鸿中花海 见门塘采心,何西杏知底底梅即色花.红两霜言海 秋飞曲杆明,花南 ...

  3. 别混淆了sizeof(数组名)和sizeof(指针)

    我们在挨个儿输出一个数组中的元素时,最常用的就是用一个for循环来实现,简单了事.比如类似下面的代码片段: for(i = 0; i< length; i++) { printf("数 ...

  4. Baby-step giant-step算法

    写在前面: 学习笔记,方便复习,学习资料来自网络,注明出处 我们都在努力奔跑,我们都是追梦人 结论 In group theory, a branch of mathematics, the baby ...

  5. Flapper Bird的学习笔记(三)

    因为我有一个超屌的梦想,所以就绝不会做一个孬种的追梦人! 完成音效的添加 单例模式 游戏的状态切换 1. 单例模式 首先呢,说一下单例模式.何为单例?单例模式是一种常用的软件设计模式.在它的核心结构中 ...

  6. Flapper Bird的学习笔记(二)

    因为有一个超屌的梦想,所以就绝不会做一个孬种的追梦人! 本章节主要目的: 实现小鸟的飞行. 实现管道的随机出现. 实现相机跟随. 上次主要是场景的布置,这节全力拿下代码. 1.小鸟飞行(一种制作2D动 ...

  7. Flapper Bird的学习笔记(一)

    因为我有一个超屌的梦想,所以就绝不做孬种的追梦人! 本文主要目的是为了实现Flapper Bird的功能. 另外一个目的是为了加强对Unity引擎的理解和掌握. 新人一枚,如若看到是我幸运.若是发现错 ...

  8. wxWidgets编译安装gtk问题的解决办法

    下面是google到的一篇博文.我在centos5.3中想安装amule,结果编译时,提示没找到wxWidgets退出了.只好又去下了wxWidgets,还是源码,需要编译.编译中出现和下面这位网友一 ...

  9. javascript中,对于this指向的浅见

    # this的指向在函数创建的时候确定不了.只有在执行的时候,才可以确定. ## 1 . 这里的this指向window window.fn(); 所以this.user是undefined func ...

随机推荐

  1. glibc内存管理方式

    程序员接触的内存空间和系统接触的物理内存空间是有所区别的.对于一般进程来讲,他面对的是一个线性虚拟内存空间:地址从0到最大值.每一个进程面对的虚拟内存空间都是一样的,都享有全部的内存地址.虚拟内存空间 ...

  2. 【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第一章 真正的开发中的最佳的做法 从设计者到开发者 设计师创建一个应用程序的布局然后让开发者去实现. 从开发者到设计者 开发者创建 ...

  3. 图像滤镜艺术---球面(Spherize)滤镜

    原文:图像滤镜艺术---球面(Spherize)滤镜 球面(Spherize)滤镜 球面滤镜是通过极坐标变换实现图像的球面特效. 代码如下:         //         ///        ...

  4. PySide——Python图形化界面入门教程(六)

    PySide——Python图形化界面入门教程(六) ——QListView和QStandardItemModel 翻译自:http://pythoncentral.io/pyside-pyqt-tu ...

  5. SQL Server 数据库所有表增加同一列

    SET @COLUMN_NAME = 'ColumnNameYouWantToAdd'; SET @COLUMN_DATATYPE = 'DataTypeOfColumn'; ------------ ...

  6. 正试图在 os 加载程序锁内执行托管代码

    正试图在 os 加载程序锁内执行托管代码.不要尝试在 DllMain 或映像初始化函数内运行托管代码... 当我在窗体初始化的时候,调用了一个外部的dill时,它就不知什么原因的 抛出一个“正试图在 ...

  7. 【Python】:用python做下百度2014笔试题

    国庆节最后一天,明天就要上班了,闲来无事做做百度2014笔试题,好久没用过C++了,索性就用python简单的写一下,体验下题目难度.题目是从[大卫David]那里copy过来的. 1.给定任意一个正 ...

  8. 最小二乘法 good

    最小二乘法也称为最小平方法,是一种数据优化技术,它通过最小化误差的平方和寻找数据的最佳函数匹配. 最小二乘法最初由高尔顿在创立回归分析的时候提出,现在已经成为探索变量间关系最重要的方法,最小二乘法根据 ...

  9. MySQL 其它基本操作

    索引 所谓索引,就是类似于书的目录,目的也类似,都是为了提高检索速度.ALTER TABLE <表名> ADD INDEX <索引名(列名)>;或者CREATE INDEX & ...

  10. QQ邮箱打败163邮箱的过程(重视用户体验的结果)

    引用 楼主 CKAOS 的回复: 目前负责一个项目,ASP.NET的,做一个网盘系统,别的都弄好了,只差一个下载文件夹的功能未实现,只能在服务器端打包成压缩文件,再发回浏览器.如何直接下载文件夹,不是 ...