一看到这个题

就感觉。。。cao,,

什么东西。。。??!

然后就开始暴力求Fn

然鹅我并不会写高精(我太菜了)

只能求到大概10左右

在吧Fn给质因数分解

求出其因子个数

妄图找到什么有关的规律

但是我太过于弱小

并未找到。。。。。。。

(yjg:你找不到规律,并不代表没有规律)

然而我还瞎jb乱模

导致局面甚是混乱

但是,,,,

质因数分解貌似有点苗头,,,

而且这个东西

像极了斐波那契数列

那如果是两相结合

就是正解!!!

我的40分代码:

可能是写的太过繁琐

导致TLE

#include<cstdio>
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
const int mod=1e9+;
int f[][];
int n;
int main() {
freopen("fiborial.in","r",stdin);
freopen("fiborial.out","w",stdout);
cin>>n;
for(int i=; i<=n; i++) {
int k=i,t=;
for(int j=; j<=i; j++)
f[][j]=f[][j]+f[][j],f[][j]%=mod;
while(k>) {
while(k%t==) {
k/=t;
f[][t]++;
}
t++;
}
for(int j=; j<=i; j++) {
f[][j]=f[][j];
f[][j]=f[][j];
}
}
long long ans=;
for(int i=; i<=n; i++)
ans*=(f[][i]+),ans%=mod;
cout<<ans; fclose stdin;
fclose stdout;
return ;
}

那么就让我们看看

牛逼哄哄的土蛋的代码吧

上!

#include <cstdio>
#include <cstdlib> typedef long long ll; const int N = (int)5e6;
const int S = (int)1e6; const int mod = (int)1e9 + ;
int f[N + ], n, p[S + ], cnt = , m[N + ], c[N + ];
bool v[N + ]; inline int add(int a, int b) {
int r = a + b;
return r >= mod ? r - mod : r;
} int main() {
freopen("fiborial.in", "r", stdin);
freopen("fiborial.out", "w", stdout); scanf("%d", &n);
f[] = f[] = ;
for (int i = ; i <= n; ++i) f[i] = add(f[i - ], f[i - ]);
for (int i = ; i <= n; ++i) {
if (!v[i]) p[cnt++] = i, m[i] = i;
for (int j = , tmp; j < cnt && (tmp = i * p[j]) <= n; ++j) {
v[tmp] = true, m[tmp] = p[j];
if (!(i % p[j])) break;
}
} for (int i = ; i <= n; ++i)
for (int x = i; x != ; x /= m[x])
c[m[x]] = add(c[m[x]], f[n - i]);
int ans = ;
for (int i = ; i < cnt; ++i)
ans = (ll)ans * (c[p[i]] + ) % mod;
printf("%d\n", ans); return ;
}

Fiborial 题解——2019.10.14的更多相关文章

  1. C 题解———2019.10.16

    现在很痛苦,等过阵子回头看看,会发现其实那都不算事. [题目描述]定义一个排列 a 的价值为满足|a[i]-i|<=1 的 i 的数量.给出三个正整数 n,m,p,求出长度为 n 且价值恰好为 ...

  2. B 题解————2019.10.16

    相信他说的话,但不要当真 [题目描述]有一个长度为 n 的自然数序列 a,要求将这个序列恰好分成至少 m 个连续子段. 每个子段的价值为该子段的所有数的按位异或.要使所有子段的价值按位与的结果最大,输 ...

  3. A 题解————2019.10.16

    [题目描述] 对于给定的一个正整数n, 判断n是否能分成若干个正整数之和 (可以重复) ,其中每个正整数都能表示成两个质数乘积. [输入描述]第一行一个正整数 q,表示询问组数.接下来 q 行,每行一 ...

  4. 完整开发流程管理提升与系统需求分析过程 随堂笔记(day 1) 【2019/10/14】

    Top12原则: 主要资源,重要功能,依据需求重要度进行资源分配, 项目100功能 1 day -> 100Task -> 10 Dev 20% 80% 开发各阶段流程及规范   需求.架 ...

  5. 忍者钩爪 ( ninja) 题解———2019.10.19

    可以到这里测..嘿嘿嘿 题目: [问题 描述 ] 小 Q 是一名酷爱钩爪的忍者, 最喜欢飞檐走壁的感觉, 有一天小 Q 发现一个练习使用钩 爪的好地方,决定在这里大显身手. 场景的天花板可以被描述为一 ...

  6. T1 :最小值(min)题解 ——2019.10.15

    思路: 对于 % 30 的数据,可以想到一个 Dp 方程: 其中dp[i]表示分割[1,i]的最大答案 代码: #include<cstdio> #include<cstring&g ...

  7. JAVA课堂作业(2019.10.14)

    一. (1)代码 package class20191014; import java.util.Scanner; public class ClassHomework { public static ...

  8. macOS 10.14 Mojave 开发环境配置Apache多PHP版本

    第1部分:macOS 10.14 Mojave Web开发环境 在macOS上开发Web应用程序真是一种乐趣.设置开发环境有很多选择,包括广受欢迎的MAMP Pro,它在Apache,PHP和MySQ ...

  9. Pairs Forming LCM 在a,b中(a,b<=n)(1 ≤ n ≤ 10^14),有多少组(a,b) (a<b)满足lcm(a,b)==n; lcm(a,b)=p1 ^ max(a1,b1) * p2 ^ max(a2,b2) *..........*pn ^ max(an,bn)

    转自:http://www.cnblogs.com/shentr/p/5285407.html http://acm.hust.edu.cn/vjudge/contest/view.action?ci ...

随机推荐

  1. 【1】【经典回溯、动态规划、贪心】【leetcode-55】跳跃游戏

    给定一个非负整数数组,你最初位于数组的第一个位置. 数组中的每个元素代表你在该位置可以跳跃的最大长度. 判断你是否能够到达最后一个位置. 示例 1: 输入: [2,3,1,1,4]输出: true解释 ...

  2. dotnet core 之 CORS使用示例

    这里列举几个经过验证的可用的CORS使用示例, 方便在需要的时候可以直接使用 示例1 #region snippet2 public void ConfigureServices(IServiceCo ...

  3. C#读写修改设置调整UVC摄像头画面-清晰度

    有时,我们需要在C#代码中对摄像头的清晰度进行读和写,并立即生效.如何实现呢? 建立基于SharpCamera的项目 首先,请根据之前的一篇博文 点击这里 中的说明,建立基于SharpCamera的摄 ...

  4. ASP.NET SignalR 系列(七)之服务端触发推送

    前面几章讲的都是从客户端触发信息推送的,但在实际项目中,很多信息可能是由系统服务端推送的,下面2图分别展示两种通道 客户端触发推送 服务端推送 下面我们就重点介绍下服务端如何调用集线器的对象进行推送 ...

  5. Kubemetes

    将应用docker化,配合ETCD.kubernetes等工具在容器的层面上实现高可用和负载均衡 容器化部署 容器化部署应用具有灵活.高效的使用资源,容器可以包含其所需的全部文件,如同在虚拟机上部署应 ...

  6. 微信小程序生命周期详解

    文章出处:https://blog.csdn.net/qq_29712995/article/details/79784222 在我看来小程序的生命周期虽然简单,但是他渗透了小程序开发的整个过程,对于 ...

  7. HTML列表简单介绍

    1.无序列表 使用标签:<ul>,<li> 属性:disc,circle,square 2.有序列表 使用标签:<ol>,<li> 属性:A,a,I,i ...

  8. HttpUtils请求工具类

    package com.cmcc.hybj.payment.framework.https; import java.io.UnsupportedEncodingException;import ja ...

  9. java web的转发与重定向

    java web的转发与重定向 原创 2012年12月15日 11:51:39 19312 转发和重定向的区别 一.使用方法 转发:request.getRequestDispatcher(" ...

  10. JS判断是否是数组的四种做法(转载)

    转载来源 https://www.cnblogs.com/echolun/p/10287616.html 一.前言 如何判断一个对象或一个值是否是一个数组,在面试或工作中我们常常会遇到这个问题,既然出 ...