Fiborial 题解——2019.10.14

一看到这个题
就感觉。。。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的更多相关文章
- C 题解———2019.10.16
现在很痛苦,等过阵子回头看看,会发现其实那都不算事. [题目描述]定义一个排列 a 的价值为满足|a[i]-i|<=1 的 i 的数量.给出三个正整数 n,m,p,求出长度为 n 且价值恰好为 ...
- B 题解————2019.10.16
相信他说的话,但不要当真 [题目描述]有一个长度为 n 的自然数序列 a,要求将这个序列恰好分成至少 m 个连续子段. 每个子段的价值为该子段的所有数的按位异或.要使所有子段的价值按位与的结果最大,输 ...
- A 题解————2019.10.16
[题目描述] 对于给定的一个正整数n, 判断n是否能分成若干个正整数之和 (可以重复) ,其中每个正整数都能表示成两个质数乘积. [输入描述]第一行一个正整数 q,表示询问组数.接下来 q 行,每行一 ...
- 完整开发流程管理提升与系统需求分析过程 随堂笔记(day 1) 【2019/10/14】
Top12原则: 主要资源,重要功能,依据需求重要度进行资源分配, 项目100功能 1 day -> 100Task -> 10 Dev 20% 80% 开发各阶段流程及规范 需求.架 ...
- 忍者钩爪 ( ninja) 题解———2019.10.19
可以到这里测..嘿嘿嘿 题目: [问题 描述 ] 小 Q 是一名酷爱钩爪的忍者, 最喜欢飞檐走壁的感觉, 有一天小 Q 发现一个练习使用钩 爪的好地方,决定在这里大显身手. 场景的天花板可以被描述为一 ...
- T1 :最小值(min)题解 ——2019.10.15
思路: 对于 % 30 的数据,可以想到一个 Dp 方程: 其中dp[i]表示分割[1,i]的最大答案 代码: #include<cstdio> #include<cstring&g ...
- JAVA课堂作业(2019.10.14)
一. (1)代码 package class20191014; import java.util.Scanner; public class ClassHomework { public static ...
- macOS 10.14 Mojave 开发环境配置Apache多PHP版本
第1部分:macOS 10.14 Mojave Web开发环境 在macOS上开发Web应用程序真是一种乐趣.设置开发环境有很多选择,包括广受欢迎的MAMP Pro,它在Apache,PHP和MySQ ...
- 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 ...
随机推荐
- 转载 VUE+WebPack环境搭建 https://segmentfault.com/a/1190000010960666
一.vue有两种使用方式: 1.下载vue.js <script src="vue.js"></script> 2.使用npm npm install vu ...
- c# mvc webapi的put报405错误
程序在本机调试可正常修改,本机是iis11 放到服务器上,报错了:405.服务器iis7.0 返回的错误页面: <!DOCTYPE html PUBLIC "-//W3C//DTD X ...
- Appium中app的元素定位
app定位方式,本文只讲Android手机的定位方式. 前提条件是adb连接到模拟器或者是手机(具体连接方式这里不再讲解),证明已连接到设备 adb devices app元素定位工具一:UI Aut ...
- asp.net core MVC 过滤器之ExceptionFilter过滤器(一)
简介 异常过滤器,顾名思义,就是当程序发生异常时所使用的过滤器.用于在系统出现未捕获异常时的处理. 实现一个自定义异常过滤器 自定义一个异常过滤器需要实现IExceptionFilter接口 publ ...
- Django的安全攻击
目录 Django的安全攻击 XSS XSS(跨站脚本攻击) 危害 原理 防护 csrf(Cross Site Request Forgery) csrf(跨站域请求伪造) 过程 Django 提供的 ...
- 关于银企直连中银行通信类 配置篇 EPIC_PROC
简单介绍:SAP银行企业直连,英文全称:Electronic Payment Integration(For China),简称EPIC,是SAP中国为本地化的需求开发的一款产品,以银企直连为支撑,主 ...
- Linux命令:scp
1.find命令: scp [参数] [原路径] [目标路径] 2.用法: scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令.linux的sc ...
- vue使用vue-cli创建项目
安装运行环境(node和npm) 安装vue-cli(查看是否安装成功vue -V) 安装webpack 新建项目 1.vue init webpack 项目名称 2.配置项目有关的信息(项目名称,开 ...
- selenium 开启开发者工具(F12)
selenium 开启开发者工具(F12) options = webdriver.ChromeOptions(); options.add_argument("--auto-open-de ...
- 全网最全Selenium相关资源汇总
官网: Selenium官网:https://docs.seleniumhq.org Selenium github: https://github.com/SeleniumHQ/selenium 文 ...