bzoj4666 小z的胡话
题目描述:
题解:
乱搞好题哇。
众所周知斐波那契数列是有循环节的。
我们可以搞出在模$10^x$下与所给得数同余的集合,那么在模$10^{x+1}$下,同余集合一定是原集合及循环若干循环节的大集合的子集。
人话是,i have a xunhuanjie, i have a jihe.EN!another jihe and another xunhuanjie.
然后矩乘求值判定就好了。
代码:
#include<vector>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
typedef long long ll;
ll MOD;
void Mod(ll&x){if(x>=MOD)x-=MOD;}
ll fastadd(ll a,ll b)
{
ll t = (long double)a*b/MOD;
ll ret = a*b-t*MOD;
while(ret<)ret+=MOD;
return ret;
}
struct mt
{
ll s[][];
void reset(ll k)
{
s[][]=s[][]=;
s[][]=s[][]=k;
}
void init()
{
s[][]=s[][]=s[][]=;
s[][]=;
}
bool check()
{
for(int i=;i<=;i++)for(int j=;j<=;j++)
if(s[i][j]!=(i==j))return ;
return ;
}
mt operator * (const mt&a)const
{
mt ret;ret.reset();
for(int i=;i<=;i++)
for(int j=;j<=;j++)
for(int k=;k<=;k++)
Mod(ret.s[i][j]+=fastadd(s[i][k],a.s[k][j]));
return ret;
}
};
mt operator ^ (mt&x,ll y)
{
mt ret;ret.reset();
while(y)
{
if(y&)ret=ret*x;
x=x*x;y>>=;
}
return ret;
}
ll n,L[];
vector<ll>ve[]; int main()
{
scanf("%lld",&n);
L[] = ,ve[].push_back(),MOD = ;
mt bas;bas.reset();
for(int i=;i<=;i++)
{
MOD=MOD*;
mt now;now.init();now=now^L[i&];
L[!(i&)]=,ve[!(i&)].clear();
mt nxt;nxt.reset();
while(!L[!(i&)]||!nxt.check())
{
for(int j=,lim=(int)ve[i&].size();j<lim;j++)
{
mt tmp;tmp.init();tmp=tmp^(ve[i&][j]+L[!(i&)]);
if(tmp.s[][]==n%MOD)ve[!(i&)].push_back(ve[i&][j]+L[!(i&)]);
}
L[!(i&)]+=L[i&];nxt=nxt*now;
}
}
if(!ve[].size())puts("-1");
else printf("%lld\n",ve[][]+);
return ;
}
bzoj4666 小z的胡话的更多相关文章
- BZOJ 2038: [2009国家集训队]小Z的袜子(hose) [莫队算法]【学习笔记】
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 7687 Solved: 3516[Subm ...
- BZOJ 2038: [2009国家集训队]小Z的袜子(hose)
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MBSubmit: 7676 Solved: 3509[Subm ...
- BZOJ2038: [2009国家集训队]小Z的袜子(hose)
Time Limit: 20 Sec Memory Limit: 259 MB Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天, ...
- Bzoj 2038---[2009国家集训队]小Z的袜子(hose) 莫队算法
题目链接 http://www.lydsy.com/JudgeOnline/problem.php?id=2038 Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色 ...
- 莫队算法 2038: [2009国家集训队]小Z的袜子(hose)
链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2038 2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 ...
- BZOJ 2038 小z的袜子 & 莫队算法(不就是个暴力么..)
题意: 给一段序列,询问一个区间,求出区间中.....woc! 贴原题! 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过 ...
- 【BZOJ2038】【2009国家集训队】小Z的袜子(hose) 分块+莫队
Description 作为一个生活散漫的人,小Z每天早上都要耗费很久从一堆五颜六色的袜子中找出一双来穿.终于有一天,小Z再也无法忍受这恼人的找袜子过程,于是他决定听天由命……具体来说,小Z把这N只袜 ...
- BZOJ-2038 小Z的袜子(hose) 莫队算法
2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MB Submit: 5573 Solved: 2568 [Subm ...
- 【BZOJ】2038: [2009国家集训队]小Z的袜子(hose)(组合计数+概率+莫队算法+分块)
http://www.lydsy.com/JudgeOnline/problem.php?id=2038 学了下莫队,挺神的orzzzz 首先推公式的话很简单吧... 看的题解是从http://for ...
随机推荐
- C# 数组之ArrayList
一.引言 ArrayList类相当于一种高级的动态数组,是Array类的升级版本. 一般的Array,底层是数组实现的,对于数据的查找和修改十分高效.但是有2个大的缺点,其一为增删低效,其二为数组长度 ...
- bzoj4650: [Noi2016]优秀的拆分 hash
好气啊,没开longlong又biubiu了 底层: 用hash或者奇奇怪怪的算法兹磁logn求最长公共前后缀 思路: 统计出从一个点开始和结束的形如AA的子串的个数 统计的时候把相邻的结果相乘加起来 ...
- FusionCharts图表控件中文版使用手册
三要素:swf.data.xml.承载图表的载体 1.Swf: 按照你所设计的图表类型加载相应的.swf文件到你的工程即可(eg:若你想生成一张二维柱状图,那么在你的工程里就必须包含Column2D. ...
- (转)Centos7安装配置NFS服务和挂载
Centos7安装配置NFS服务和挂载 原文:https://www.u22e.com/601.html NFS简介 NFS(Network File System)即网络文件系统,是FreeBSD支 ...
- Tensorflow版Faster RCNN源码解析(TFFRCNN) (1) VGGnet_test.py
本blog为github上CharlesShang/TFFRCNN版源码解析系列代码笔记第1篇 VGGnet_test.py ----作者:Jiang Wu(吴疆),未经允许,禁止转载--- -- ...
- Windows2
windows如何打开dvd, iso镜像文件 .iso后缀的文件是一个压缩文件, 使用Winrar等压缩工具即可打开 windows7如何下载Visual Studio 2010(2010是流行的开 ...
- c#基础3-方法的重载静态和非静态,字段属性,方法
方法的重载概念:方法的重载指的就是方法的名称相同给,但是参数不同.参数不同,分为两种情况1).如果参数的个数相同,那么参数的类型就不能相同.2).如果参数的类型相同,那么参数的个数就不能相同.***方 ...
- AJPFX关于JAVA StringBuffer的用法总结
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...
- zTree的重点
今天学习了zTree插件,记录一下使用步骤: 1 下载,把下载好的目录整个放在项目中 文件夹目录: js:一般引这jquery.ztree.all.js和jquery.ztree.core.js cs ...
- 绕过UAC以管理员身份启动程序
写这篇文章主要是看到了:http://www.7tutorials.com/use-task-scheduler-launch-programs-without-uac-prompts文章中所用到的方 ...