POI2007完结撒花~

首先将n转化为四进制,从低位到高位DP

f[i]表示这一位不向下一位借位

g[i]表示这一位向下一位借位,但借的那个不算在i

f[0]=0,g[0]=inf

f[i]=merge(f[i-1]+b[i],g[i-1]+b[i]+1)

g[i]=merge(f[i-1]+4-b[i],g[i-1]+3-b[i])

#include<cstdio>
#include<cstring>
#define N 1670
struct E{int x,y;E(){}E(int _x,int _y){x=_x,y=_y;}inline E operator+(int _x){return E(x+_x,y);}inline E operator+(E b){return x==b.x?E(x,(y+b.y)%1000000000):(x<b.x?E(x,y):b);}
}f[N],g[N];
int l,n,i,a[N],b[N];char s[N];
int main(){for(scanf("%s",s),l=std::strlen(s),i=1;i<=l;i++)a[i]=s[l-i]-'0';while(l){for(i=l,a[0]=0;i;i--)a[i-1]+=(a[i]&3)*10,a[i]>>=2;for(b[++n]=a[0]/10;l&&!a[l];l--);}for(f[0]=E(0,1),g[0]=E(N,0),n++,i=1;i<=n;i++)f[i]=(f[i-1]+b[i])+(g[i-1]+(b[i]+1)),g[i]=(f[i-1]+(4-b[i]))+(g[i-1]+(3-b[i]));return printf("%d",f[n].y),0;
}

  

BZOJ1111 : [POI2007]四进制的天平Wag相关推荐

  1. 三进制 四进制计算机原理,基因编码为何选择了“四进制”,而不是计算机系统的“二进制”?...

    计算机已经成功的证明,"二进制"是一种简洁又高效的编码方案(且与物理硬件相得益彰),它可以传递和映射任意复杂度的信息. 但基因编码,绝大部分却使用了4种碱基(DNA是ATCG,RN ...

  2. 四进制加法(运算符重载)

    题目描述 定义一个四进制的类,重定义"+"号实现四进制数的累加. 输入 第一行输入所需要的四进制数的个数 第二行开始,依次输入四进制数 输出 所有输入四进制数累加的和 输入样例1  ...

  3. Python 任意进制 四进制 八进制 十六进制

    整数转字符串 二进制:bin(整数)带有前缀0b 八进制:oct(整数)前缀0o 十六进制:hex(整数)0x 其他进制可用numpy包 import numpy as np np.base_repr ...

  4. 同步四进制加减法可逆计数器设计(D触发器+74153)

    好久没更新博客了, 很高兴今天又与大家见面了. 昨天有朋友问道这样一个问题"该如何使用最少数量的D触发器和四选一数据选择器74153接成同步四进制加减法可逆计数器": 从这个问题中 ...

  5. 二十四进制 加法计数器 并用数码管显示

    二十四进制 (BCD码)加法计数器 并用数码管显示 `timescale 1ns / 1ps // // Company: // Engineer: // // Create Date: 2020/1 ...

  6. [汇编]四字,双字,字,字节以及四进制和32进制

    写在最前面 欢迎砍砖!共同进步- 首先是非常感谢@neoaries Comrade的提醒,我决定写一下题目中的这些问题 先说一下四字.双字.字.字节 我们平时看到的在计算机中二进制其中的一个0或者1称 ...

  7. 二进制转四进制计算机,二进制换算(进制转换计算器)

    二进制数01011010扩大2倍之后是多少?急求~ 先把它转换成为 10进制 变成90 变180 然后再转换成为2进制 10110100 我看了一下像是一道二进制的题 有谁知道答案帮帮忙 谢谢了 问着 ...

  8. 【小工具类】将一个十进制数转化成二进制/四进制/八进制/16进制

    先直接上完整代码: public class Test {public static void main(String[] args) {int num = 100;System.out.printl ...

  9. 51单片机实验——按键外部中断实现四进制计数器

    1.实验题目: 设计一个通过触发外部中断INT1实现的在0-3之间计数(四进制)的计数器,并通过P1.6和P1.7端口上的LED,显示计数的值. 2.KEIL代码 #include <reg51 ...

最新文章

  1. 学会这两样高级用户,让你成为 Git老手
  2. ie关闭浏览器tab提示信息
  3. mysql 5.7报1055错误的解决方法
  4. CI配置文件 --------- autoload.php
  5. spark发行版笔记9
  6. 剑指 Offer 40-----50
  7. c++图片背景替换为白色_4种方法,3秒快速更换证件照背景!你还要去照相馆花冤枉钱吗?...
  8. linux怎么看系统盘,Linux系统怎么查看电脑的磁盘空间?
  9. pps服务器未响应_pps服务器未响应停止播放怎么解决
  10. jmeter学习指南之快速玩转16个逻辑控制器
  11. PTA 7-2 深入虎穴 (30 分)
  12. redis数据类型之hash入门
  13. CF1157D N Problems During K Days(简单构造)
  14. BOSS直聘自动投简历
  15. 机械类和计算机类哪个累哪个难,这几个大学专业累死人还难学,但是毕业却很好就业...
  16. Detach Procedure
  17. 未来科技感UI界面设计欣赏
  18. 介绍一下3D游戏开发的简单常识,以及最终幻想13游戏流程为什么会过于线性的原因。
  19. Gamit Gloness 数据处理 流程
  20. 到店维修要注意以下三点

热门文章

  1. SQL查询-巧用记录数统计人数
  2. linux 多CPU
  3. (转)javascrit中的uriencode
  4. 代码也浪漫——Python烟花秀
  5. 如何自动升级php数据库,php – 如何在现实世界中“升级”数据库?
  6. linux开发 stc_Linux环境下搭建STC单片机平台的指南
  7. python的多行语句可以使用反斜杠_Python的续行符:反斜杠\
  8. MySQL中锁的必要性_MySQL中的锁之一:锁的必要性及分类
  9. php try 错误_PHP异常和错误(2)异常的基本处理:try
  10. 最大堆和最小堆和平衡二叉树_最小堆二叉树