BZOJ4230: 倒计时
4230: 倒计时
Time Limit: 10 Sec  Memory Limit: 256 MB
Submit: 20  Solved: 12
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
Sample Output
HINT
#include<cstdio>
#include<cctype>
#include<queue>
#include<cmath>
#include<cstring>
#include<algorithm>
#define rep(i,s,t) for(int i=s;i<=t;i++)
#define dwn(i,s,t) for(int i=s;i>=t;i--)
#define ren for(int i=first[x];i!=-1;i=next[i])
using namespace std;
typedef long long ll;
ll n,f[][][],g[][][],xp[];
int bit[],m;
int main() {
rep(x,,) rep(y,,) {
if(x<=y) f[x][][y]=,g[x][][y]=-x;
else f[x][][y]=,g[x][][y]=-x+y;
}
xp[]=;
rep(i,,) xp[i]=xp[i-]*;
rep(len,,) rep(x,,) rep(y,,) {
ll res=,cur=y;
dwn(i,,) res+=f[max(i,x)][len-][cur],cur=g[max(i,x)][len-][cur];
f[x][len][y]=res;g[x][len][y]=cur;
}
scanf("%lld",&n);
if(!n) puts("");
else if(n<) puts("");
else {
ll ans=,cur=n%,n0=n;
while(n0) bit[++m]=n0%,n0/=;
rep(i,,m-) {
int C=;
rep(j,i+,m) C=max(C,bit[j]);
int k;
if(i==) k=bit[i];
else k=bit[i]-;
dwn(j,k,) ans+=f[max(C,j)][i-][cur],cur=g[max(C,j)][i-][cur];
}
int k;
if(m==) k=bit[m];
else k=bit[m]-;
dwn(i,k,) ans+=f[i][m-][cur],cur=g[i][m-][cur];
dwn(i,m-,) dwn(j,,) ans+=f[j][i][cur],cur=g[j][i][cur];
printf("%lld\n",ans+);
}
return ;
}
BZOJ4230: 倒计时的更多相关文章
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
		转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ... 
- Android开发案例 – 在AbsListView中使用倒计时
		在App中, 有多种多样的倒计时需求, 比如: 在单View上, 使用倒计时, 如(如图-1) 在ListView(或者GridView)的ItemView上, 使用倒计时(如图-2) 图-1 图-2 ... 
- JS案例之3——倒计时
		利用简单的数字累加循环模拟倒计时的效果,逻辑比较简单.如果大牛们有更好的办法欢迎补充. 这种效果经常用于在规定的时间做某件事.比如在1分钟之后重新发送验证码等. 案例演示: 源代码如下: <!D ... 
- js倒计时-倒计输入的时间
		计算指定时间到指定时间之间相差多少天.时.分.秒. 节日.活动.商城常用. 原理: 主要使用到时间戳,也就是从1970 年 1 月 1 日 到指定时间的毫秒数. 1. 求出毫秒差 :当两个时间直接进行 ... 
- 微信小程序定时器组件(输入时间字符串即可倒计时)
		昨天写了代码,今天发现要重用,干脆就抽出来做个组件得了,顺便还改善了一下代码通用性. 昨天的代码在这里 github下载地址 用法: 引入: var timer = require('../../pl ... 
- jQuery获取短信验证码+倒计时实现
		jQuery 短信验证码倒计时 <script type="text/javascript" charset="utf-8"> $(function ... 
- 纯js实现10分钟倒计时
		一个简单实现倒计时的小栗子~ 效果图:简陋的不能再简陋了,捂脸 代码: <!DOCTYPE HTML> <html> <head> <title> 倒计 ... 
- Android 在线订单倒计时设计
		接到一个需求,用户下单后,商店这边需要显示在线订单列表,订单十分钟内有效.于是需要设计倒计时,显示每个订单剩余处理时间. 倒计时剩余时间: 订单创建时间 + 10分钟 - 系统当 ... 
- js获取手机验证码倒计时的实现
		方案一 <div class="div user-input"> <input type="number" class="code& ... 
随机推荐
- win7/ubuntu双系统下,如何恢复成win7引导及卸载ubuntu
			电脑原来是win7系统,后来通过硬盘安装了Ubuntu,同时把Ubuntu设置成了开机引导项(开机时选择操作系统的界面成了紫色背景白色字体的界面),ubuntu引导开机的缺点是将来要卸载Ubuntu时 ... 
- css 中的度量单位
			px 相对长度单位.像素(Pixel). 像素是相对于显示器屏幕分辨率而言的.譬如,WONDOWS的用户所使用的分辨率一般是96像素/英寸.而MAC的用户所使用的分辨率一般是72像素/英寸. em 相 ... 
- iOS 关于UITableView的dequeueReusableCellWithIdentifier
			今天看代码的时候,突然想到了以前的一个问题. 刚学ios那会儿,常会写出以下代码 - (UITableViewCell *)tableView:(UITableView *)tableView cel ... 
- 【JAVA、C++】LeetCode 011 Container With Most Water
			Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ... 
- DP:Wooden Sticks(POJ 1065)
			摆木棍 题目大意:即使有一堆木棍,给一个特殊机器加工,木棍都有两个属性,一个是l一个是w,当机器启动的时候(加工第一根木棒的时候),需要一分钟,在这以后,设机器加工的上一根木棒的长度是l,质量是w,下 ... 
- @RequestBody, @ResponseBody 注解详解
			简介: @RequestBody 作用: i) 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对 ... 
- Markdown 语法速查表
			Markdown 语法速查表 1 标题与文字格式 标题 # 这是 H1 <一级标题> ## 这是 H2 <二级标题> ###### 这是 H6 <六级标题> 文 ... 
- 字串变换(codevs 1099)
			题目描述 Description 已知有两个字串 A$, B$ 及一组字串变换的规则(至多6个规则): A1$ -> B1$ A2$ -> B2$ 规则的含义为:在 A$中的子串 A1$ ... 
- RocketMQ最佳实践
			1.RocketMQ中的专业术语 Topic topic表示消息的第一级类型,比如一个电商系统的消息可以分为:交易消息.物流消息...... 一条消息必须有一个Topic. Tag Tag表示消息的第 ... 
- Material Design综合实例
			背景知识 drawlayout的使用 recycleView的使用 CardView的使用 一些开源动画库的使用 ImageView的scaleType属性与adjustViewBounds属性 ,参 ... 
