第一眼以为是傻逼斜率优化>_<

  f[i]表示按i次最多可输出字符数。。f[i]=max{ f[i-1]+1,(i-j-1)*f[j] },j<i-2

  结果n在100+的时候就喜闻乐见地爆了longlong

  根据网上题解可得(T_T)。。这题大概是要FFT优化?(跟着ccz大爷刷题果然高风险TAT

  然而题解表示,这题求出f的前几项后,令x=n%5+15,最终答案f[n]=f[x]*4^((n-x)/5)..........

  我死活没看出来这是为啥。。。

  我显然是连FFT都不会的傻逼。。只好写了个压位高精度快速幂。。结果跑了#3。。233

  突然觉得正解显然不是FFT = =。。另外status里面一堆奇怪语言也是感人>_<

 #include<cstdio>
#include<iostream>
#include<cstring>
#define ll long long
#define d double
using namespace std;
const int maxn=;
const int modd=;
ll f[];
int dl[maxn],l,r;
ll a[],c[],b[];
int i,j,k,n,m,lena,lenc; inline d xl(int k,int j){//k<j<i-2
return ( f[j]*(j+)-f[k]*(k+) )/ (d)(f[j]-f[k]);
}
int ra,fh;char rx;
inline int read(){
rx=getchar(),ra=,fh=;
while((rx<''||rx>'')&&rx!='-')rx=getchar();
if(rx=='-')fh=-,rx=getchar();
while(rx>=''&&rx<='')ra*=,ra+=rx-,rx=getchar();return ra*fh;
}
inline void multoa(){
register int i,j,k;
memset(b,,(lena*+)<<);
for(i=;i<=lena;i++)for(j=,k=i;j<=lena;j++,k++){
b[k]+=a[i]*a[j];
if(b[k]>=modd)b[k+]+=b[k]/modd,b[k]%=modd;
}
for(k=lena<<;!b[k];k--);
memcpy(a,b,(k+)<<);lena=k;
}
inline void multoc(){
register int i,j,k;
memset(b,,(lena+lenc+)<<);
for(i=;i<=lena;i++)for(j=,k=i;j<=lenc;j++,k++){
b[k]+=a[i]*c[j];
if(b[k]>=modd)b[k+]+=b[k]/modd,b[k]%=modd;
}
for(k=lena+lenc;!b[k];k--);
memcpy(c,b,(k+)<<);lenc=k;
}
inline void poi(int b){//计算4^b
c[lenc=]=;a[lena=]=;
while(b){
if(b&)multoc();
b>>=;
if(b)multoa();
}
} int main(){
n=read();
f[]=,f[]=,f[]=;
l=,r=;
for(i=;i<=;i++){
while(l<r&&xl(dl[r-],dl[r])>=xl(dl[r],i-))r--;
dl[++r]=i-;
while(l<r&&i>xl(dl[l],dl[l+]))l++;
f[i]=f[dl[l]]*(i-dl[l]-);
if(f[i-]+>f[i])f[i]=f[i-]+;
// printf(" i:%d %lld\n",i,f[i]);
}
if(n<=)printf("%lld\n",f[n]);else{
int x=n%+;
poi((n-x)/);
a[lena=]=f[x];
multoc();
for(printf("%lld",c[lenc]),i=lenc-;i>;i--){
for(j=modd/;j;j/=)if(c[i]<j)putchar('');
printf("%lld",c[i]);
}puts("");//printf(" %d\n",lenc);
}
return ;
}

[bzoj3287] Mato的刷屏计划的更多相关文章

  1. bzoj 3287: Mato的刷屏计划 高精水题 && bzoj AC150

    3287: Mato的刷屏计划 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 124  Solved: 43[Submit][Status] Desc ...

  2. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  3. 查看ORACLE的实际执行计划

    ORACLE的执行计划分为预估执行计划和实际执行计划.其中,你用Toad.PL/SQL Developer.SQL Developer.EXPLAIN PLAN FOR或者SET ATUOTRACE ...

  4. SQA计划和验收测试规程设计

    一.SQA(软件质量保证)的定义 软件质量保证(SQA-Software Quality Assurance)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准.步骤.实践和方法能够正确地被所 ...

  5. oracle如何查看执行计划

    1.在PL/SQL Developer中得到一个SQL的执行计划 输入想要查看执行计划的目标SQL,再按一下快捷键F5就可以了.2.explain plan 命令 explain plan for + ...

  6. 【声明】前方不设坑位,不收费!~ 我为NET狂官方学习计划

    发个通知,过段时间学习计划相关的东西就出来了,上次写了篇指引文章后有些好奇心颇重的人跟我说:“发现最近群知识库和技能库更新的频率有点大,这是要放大招的节奏啊!” 很多想学习却不知道如何规划的人想要一个 ...

  7. SQL Server-聚焦查询计划Stream Aggregate VS Hash Match Aggregate(二十)

    前言 之前系列中在查询计划中一直出现Stream Aggregate,当时也只是做了基本了解,对于查询计划中出现的操作,我们都需要去详细研究下,只有这样才能对查询计划执行的每一步操作都了如指掌,所以才 ...

  8. ORACLE从共享池删除指定SQL的执行计划

    Oracle 11g在DBMS_SHARED_POOL包中引入了一个名为PURGE的新存储过程,用于从对象库缓存中刷新特定对象,例如游标,包,序列,触发器等.也就是说可以删除.清理特定SQL的执行计划 ...

  9. wget 显示"英国中部时间",去掉烦人的刷屏显示

    wget下载文件显示多行,进度条后面显示英国中部时间,非常让人郁闷. 本来英文是eta(Estimated Time of Arrival 预计到达时间),翻译错了,干脆去掉好了. 先要有两个个工具 ...

随机推荐

  1. sqlserver 存储过程 查询

    --查询 CREATE PROCEDURE [dbo].[SelelctMessage] @strTable varchar(), --要查询的表 @strColum varchar(), --要查询 ...

  2. (一)最小的Django

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 本文基本内容均出自<Lightweight Django>(中文为<轻量级D ...

  3. Who's in the Middle

    FJ is surveying his herd to find the most average cow. He wants to know how much milk this 'median' ...

  4. bzoj 2109: [Noi2010]Plane 航空管制

    Description 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频 发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此, 小X表示很不满意. 在这次来烟台的 ...

  5. bzoj 4199: [Noi2015]品酒大会

    Description 一年一度的"幻影阁夏日品酒大会"隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发"首席品酒家"和"首席猎手&quo ...

  6. Raspberry Pi中可用的Go IDE:liteide

    p { margin-bottom: 0.25cm; line-height: 120% } a:link { } Raspberry Pi中可用的Go IDE:liteide p { margin- ...

  7. 编译TensorFlow源码

      编译TensorFlow源码 参考: https://www.tensorflow.org/install/install_sources https://github.com/tensorflo ...

  8. shell脚本异步日志分析-接口耗时、可用率

    背景:现有日志接入日志报表大盘,为了避免作业高峰期间(双十一),系统也要观测系统整体情况,因此提出了观测近五分钟,接口成功率以及耗时等工具(默认统计最近五分钟,并进行结果汇总统计) 使用说明 前提:p ...

  9. Windows下使用OpenSSL生成自签证书

    下载OpenSSLhttp://slproweb.com/products/Win32OpenSSL.html 生成证书 生成crt证书CMD进入安装bin目录,执行命令:openssl req -x ...

  10. PHP按行读取文件 去掉换行符"\n"

    第一种: $content=str_replace("\n","",$content); echo $content; 或者: $content=str_rep ...