fzyzojP1876 天津——泥人张


思路一:
考虑lucas定理,mod 4意义下,每一个组合数都不能是0
所以,把n变成四进制数,然后数位dp即可
f[i][0/1][0/1/2/3]表示,前i位,有没有限制,mod 4 的值是0/1/2/3
发现,4=2^2,所以如果出现一个0或者两个2都可以
所以,简化一下:f[i][0/1][0/1/2]表示,前i位,有没有限制,2的次幂出现了0,1,2次,(来一个0直接相当于出现2个2)
最后答案是:f[len][0/1][2]
len大概不到5000
但是dp要高精(可以压18位)
原来的n也可以压位(压18位也可以的)
复杂度:O(3000/18*len+5000*2*3*3000/18)这个是极限
有一定的常数
卡一卡应该能过。
大错特错,4不是质数,不能用LUCAS定理
思路二:
上面那个太暴力~~~
这个复杂度很低了:




瓶颈是2^(s(m))
压位高精的话,再用上高精快速幂,s(m)极限是10000大概(也就是len)
总复杂度:O(300*300*log(10000))这个还是最坏情况。
fzyzojP1876 天津——泥人张的更多相关文章
- 利用ActiveX实现web页面设置本地默认打印机、纸张大小
通常web技术无法设置本地计算机的默认打印机,包括用代码设置纸张大小,如果业务系统中真遇到这种需求,只能通过其它辅助手段(比如ActiveX)实现.下面这段代码,出自网上被广泛使用的"泥人张 ...
- C# 中通过API实现的打印类
using System;using System.Collections;using System.Text;using System.Runtime.InteropServices; using ...
- C#使用window API 控制打印纸张大小(转载)
windows一个特点就是设备无关性,这样就给程序控制打印机提供了很好的方法. 首先引用“泥人张”写的打印API类. using System;using System.Collections;usi ...
- DQL语句排序与分组
DQL语句排序与分组 一.DQL-排序 排序是计算机内经常进行的一种操作,其目的是将一组"无序"的记录序列调整为"有序"的记录序列.分内部排序和外部排序,若整个 ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(十二)水情雨情模块
config.xml文件的配置如下: <widget label="水情" icon="assets/images/water.png" config=& ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(十)态势标绘模块
config.xml文件的配置如下: <widget label="态势标绘" icon="assets/images/impact_area_over.png&q ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(十三)台风模块
config.xml文件的配置如下: <widget label="台风" icon="assets/images/typhoon.png" config ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(十一)路径导航模块
config.xml文件的配置如下: <widget label="路径导航" icon="assets/images/lujingdaohang.png" ...
- 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(九)地图定位模块
config.xml文件的配置如下: <widget label="地图定位" config="widgets/esri/Location/LocationWidg ...
随机推荐
- ABP.ModuleZero.Feature——特性管理
原文地址:http://aspnetboilerplate.com/Pages/Documents/Feature-Management (在翻译原文的基础上增补更多细节说明) 简介 在大多数SAA ...
- 在IIS中部署Asp.Net网站
在IIS中部署Asp.Net网站 1.添加IIS或者删除IIS,在控制面板=>程序和功能=>打开或关闭功能 启动iis,右键计算机=>管理=>服务和应用程序=>Inter ...
- ovs源码阅读--netlink使用
netlink netlink socket是一种用于用户态进程和内核态进程之间的通信机制.它通过为内核模块提供一组特殊的API,并为用户程序提供了一组标准的socket接口的方式,实现了全双工的通讯 ...
- uiimageview 的 animation 动画
NSMutableArray *meiArr = [NSMutableArray arrayWithCapacity:4]; for (int i = 0; i < 4; i++) { NSSt ...
- lsblk命令详解
基础命令学习目录首页 lsblk 默认是树形方式显示: $lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 2. ...
- fetch上传文件
通过简单的配置,实现form表单文件上传 var formData = new FormData(); var fileField = document.querySelector("inp ...
- Oracle purge 用法介绍
http://blog.csdn.net/indexman/article/details/27379597
- python2.6更改为Python2.7
文中为Python2.6.6,改为Python2.6即可,因为没有/usr/bin/python2.6.6,只有/usr/bin/python2.6 http://blog.csdn.net/jcjc ...
- 常用算法Java实现之希尔排序
希尔排序严格来说是基于插入排序的思想,又被称为缩小增量排序. 具体流程如下: 1.将包含n个元素的数组,分成n/2个数组序列,第一个数据和第n/2+1个数据为一对... 2.对每对数据进行比较和交换, ...
- CS小分队第二阶段冲刺站立会议(5月31日)
昨日成果:查找相关C#资料,清楚一些bug 遇到问题:系统获取的图标分辨率太低,网上找来的获取图标的代码看不太懂 今日计划:完善获取文件图标功能,并且能够删除获取的图标文件