BZOJ1111 : [POI2007]四进制的天平Wag】的更多相关文章

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(){…
1111: [POI2007]四进制的天平Wag Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 223  Solved: 151[Submit][Status][Discuss] Description Mary准备举办一个聚会,她准备邀请很多的人参加她的聚会.并且她准备给每位来宾准备一些金子作为礼物.为了不伤及每个人的脸面,每个人获得的金子必须相同.Mary将要用一个天平来称量出金子.她有很多的砝码,所有砝码的质量都是4的幂.Mary将金子置于…
1111: [POI2007]四进制的天平Wag 链接 题意: 用一些四进制数,相减得到给定的数,四进制数的数量应该尽量少,满足最少的条件下,求方案数. 分析: 这道题拖了好久啊. 参考Claris的博客. 首先将四进制数转化为四进制数. 一种的可行构造方案是四进制数上每一位的和.例如:$(003)_4$可以有3个$4^0$的砝码组成,当然也可以向前一位借位,$(010)_4-(001)_4$,此时就需要2个砝码了. 所以可以推出:每位最多借一位,最高位最高是n+1位.所以可以dp表示当前是否借…
1111: [POI2007]四进制的天平Wag Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 302  Solved: 201[Submit][Status][Discuss] Description Mary准备举办一个聚会,她准备邀请很多的人参加她的聚会.并且她准备给每位来宾准备一些金子作为礼物.为了不伤及每个人的脸面,每个人获得的金子必须相同.Mary将要用一个天平来称量出金子.她有很多的砝码,所有砝码的质量都是4的幂.Mary将金子置于…
Description Mary准备举办一个聚会,她准备邀请很多的人参加她的聚会.并且她准备给每位来宾准备一些金子作为礼物.为了不伤及每个人的脸面,每个人获得的金子必须相同.Mary将要用一个天平来称量出金子.她有很多的砝码,所有砝码的质量都是4的幂.Mary将金子置于左边并且将砝码置于右盘或者两个盘.她希望每次称量都使用最少的砝码.并且,他希望,每次都用不同的称量方法称出相同质量的金子.对于给定的质量n,Mary希望知道最少需要用多少个砝码可以完成称量,并且想知道用这么多个砝码一共有多少种方式…
Description 给定 1000的十进制数, 求 最小的 四幂拆分 方案 有多少种 Solution 先大除法 \(n\log_4(n)\)次取余转化为 四进制数. 然后从 低位 往 高位 \(dp\) . 记 \(f[i]\) 表示不往上借位的最小代价. \(g[i]\) 表示往上借位的最小代价(被借的位的代价先不计算). 那么最后答案为 \(f[n]+(g[n]+1)\) (可以往更高位再借 \(1\)). 转移为 \(f[i] = min(f[i-1] + a[i], g[i-1]…
Online Judge:未知 Label:BFS,四进制状压,暴力,A*,哈希,玄学. 题目描述 给定一个n*m的地图和蛇的初始位置,地图中有些位置有石头,蛇不能经过.当然蛇也不能爬到地图之外. 每次移动,蛇头先动,接下来每节身体到达上一节身体所在的位置.蛇头将要去的地方,不能有身体的其他部分. 求蛇最少移动多少步到达(1,1)点. 下图B1是蛇头,B4是蛇尾,第二幅图是第一幅图蛇移动一步之后的效果,黑色区域是石头. 输入 第一行3个整数n.m.K,K表示蛇的长度. 接下来K行,每行两个整数,…
[说明] visual studio工具,.net项目,获取时间 [易错问题] ①二十四小时制(HH小时大写) System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") ②十二小时制(hh小时小写) System.DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss")…
package com.rgy.Test; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GridLayout; import java.awt.Label; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JPanel;…
关于不同进制数之间转换的数学推导 涉及范围:正整数范围内二进制(Binary),八进制(Octonary),十进制(Decimal),十六进制(hexadecimal)之间的转换 数的进制有多种,比如两双袜子为一双就采用二进制,平常的一周七天就采用七进制,每小时有六十分钟就采用六十进制.在计算机科学中我们经常用的有二进制,八进制,十进制,十六进制.计算机只能识别0和1组成的数字,但由于当一个数字比较大的时候,二进制的长度将变得非常长,对于人来说可读性非常差,而进制越大,那么数据显示的长度便越短,…
进制 对于整数,有四种表示方式: 二进制:0,1 ,满 2 进 1.以 0b 或 0B 开头. 十进制:0-9 ,满 10 进 1. 八进制:0-7 ,满 8 进1. 以数字 0 开头表示. 十六进制:0-9 及 A-F,满 16 进1. 以 0x 或 0X开头表示.此处的A-F不区分大小写. 所有数字在计算机底层都以二进制形式存在. 计算机以补码的形式保存所有的整数. 正数的补码与其原码相同:负数的补码是在其反码的末位加1. 原码:直接将一个数值换成二进制数. 反码:是对原码按位取反,只是最高…
十进制 人类天然选择了十进制. 二进制 二进制有两个特点:它由两个数码0,1组成,二进制数运算规律是逢二进一. 四进制 四进制是以4为基数的进位制,以 0.1.2 和 3 四个数字表示任何实数. 七进制 七进制是以7为基数的计数系统.使用数码0-6. 八进制 由于二进制数据的基数R较小,所以二进制数据的书写和阅读不方便,为此,在小型机中引入了八进制. 八进制的基数R=8=2^3,有数码0.1.2.3.4.5.6.7,并且每个数码正好对应三位二进制数,所以八进制能很好地反映二进制. 八进制用下标8…
D进制的A+B (20) 时间限制 1000 ms 内存限制 32768 KB 代码长度限制 100 KB 判断程序 Standard (来自 小小) 题目描述 输入两个非负10进制整数A和B(<=230-1),输出A+B的D (1 < D <= 10)进制数. 输入描述: 输入在一行中依次给出3个整数A.B和D. 输出描述: 输出A+B的D进制数. 输入例子: 123 456 8 输出例子: 1103 思路分析:A+B都会算,这个题考察的就是进制间的转换 举几个例子: 十进制数10转二…
http://www.atool.org/hexconvert.php ss = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_@"; function v10toX(n, m) { m = String(m).replace(/ /gi, ""); if (m == "") { return "" } var a = ss.substr(0,…
[十进制转换成其他进制]例:将25转换为二进制数 解: 25÷2=12 余数1  12÷2=6   余数0  6÷2=3     余数0  3÷2=1     余数1  1÷2=0     余数1 所以从下往上读,25的二进制数为11001. *同理,把十进制数转换为N进制数时,用N连续除十进制数,直到商为0,逆序排列余数.* [其他进制转换十进制]例:(11001)2转换为十进制数 解:1*2^4 + 1*2^3 + 0*2^2 + 0*2^1 + 1*2^0 = 25       -----…
http://www.cnblogs.com/me-sa/archive/2012/03/20/erlang0047.html bnot unary bitwise not integer div integer division integer rem integer remainder of X/Y integer band bitwise and integer bor bitwise or integer bxor arithmetic bitwise xor integer bsl a…
思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 2)右击在新标签中打开放大查看 if语句 a) if语句 基本语法结构: if(关系表达式) { 基本语句体 } 执行流程: 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体 如果是false就不执行语句体 b) If else 语法结构: if(关系表达式) { 语句体1; }else { 语句体2; } 执行流程 首先判断关系表达式看其结果是true还是false 如果是true就执行语句体1 如…
一.分支语句 计算机源于生活,程序模拟现实生活,从而服务生活 行为模式 1,起床,刷牙,洗脸,吃早餐,上课,回家,睡觉(顺序性) 2,如果时间不太够,打个滴滴快车,如果时间够,坐个地铁(选择性) 3,上完了一个班,又上一个班(重复性) 计算机源于生活(程序模拟现实生活的) 程序的执行流程 ,顺序性 ,选择性 ,循环性 1.If结构语句 a) if语句 基本语法结构: if(关系表达式) { 基本语句体 } 执行流程: 首先判断关系表达式看其结果是true还是false 如果是true就执行…
[POI2007]砝码Odw Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 661  Solved: 366[Submit][Status][Discuss] Description 在byteotian公司搬家的时候,他们发现他们的大量的精密砝码的搬运是一件恼人的工作.公司有一些固定容量的容器可以装这些砝码.他们想装尽量多的砝码以便搬运,并且丢弃剩下的砝码.每个容器可以装的砝码数量有限制,但是他们能够装的总重量不能超过每个容器的限制.一个容器也…
题意: 给你w,n,问你在w^0,w^1,w^2...各种一个,问你能不能用这些砝码和重量为m的东西放在天平上使得天平平衡: 思路: 这个很容易联想到进制: 如果把m放在是一边的话,其实对于砝码就是纯粹的相加,能不能被表示成这样一个进制,每个位上就是是0或1 那么如果两边都要放呢? 所以就是说我要怎么利用m和已拥有的,构造一个仅有01的进制数 为什么这么说呢?因为是左边右边等价啊: 然后从低位往高位处理,保证砝码利用次数<=1; #include <bits/stdc++.h> usin…
链接:https://ac.nowcoder.com/acm/contest/338/G来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K64bit IO Format: %lld 题目描述 This is a very simple problem! Your only job is to calculate a + b + c + d! 输入描述: There are several cases. In the first line…
一.背景 前段时间群里的朋友问了一个问题:“在查询时增加一个递增序列,如:0x00000001,即每一个都是36进位(0—9,A--Z),0x0000000Z后面将是0x00000010,生成一个像下面的映射表“: (Figure1:效果图) 二.十进制转换为十六进制 在网上有很多资料关于使用SQL语句把十进制转换为十六进制的资料,比如: --方式1 ), ) 执行返回值为0x00005CE9,但是需要注意的是,这本应该返回二进制的,但是二进制估计是阅读起来太麻烦,所以SQL Server 返回…
02.01_Java语言基础(常量的概述和使用)(掌握) A:什么是常量 在程序执行的过程中其值不可以发生改变 B:Java中常量的分类 字面值常量 自定义常量(面向对象部分讲) C:字面值常量的分类 字符串常量        用双引号括起来的内容 整数常量        所有整数 小数常量        所有小数 字符常量        用单引号括起来的内容,里面只能放单个数字,单个字母或单个符号 布尔常量        较为特殊,只有true和false 空常量        null(数组…
  1:计算double值四舍五入的方法 对小数数值进行四舍五入,首先应该确认保留小数位, 如果数值的小数精度大于保留小数位,那么开始四舍五入计算.四舍五入的方法非常简单,在所有要丢失精度的小数位中加5,如果大于10则向前进位,最后计算出四舍五入的结果. /// <summary>计算double值四舍五入的方法 /// /// </summary> /// <param name="dbl">进行四舍五入的数值</param> ///…
Lucky Number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 294    Accepted Submission(s): 49 Problem Description “Ladies and Gentlemen, It’s show time! ” “A thief is a creative artist who ta…
iOS学习(C语言)知识点整理笔记 1.C语言32个关键字 一.存储相关 1)auto 声明自动变量 2)register 声明寄存器变量 3)volatile 声明的变量在程序执行过程中可能被隐含的改变 4)const  声明只读变量 5)extern 声明变量是在其他文件中声明 6)static  声明静态变量 7)signed 声明有符号类型变量或函数 8)unsigned 声明无符号类型的变量或函数 二.数据类型 1)short   声明短整型变量或函数 2)int 声明整型变量或函数…
一. 进制 1. 什么是进制 l 是一种计数的方式,数值的表示形式 数一下方块的个数 汉字:十一   十进制:11  二进制:1011  八进制:13 l 多种进制:十进制.二进制.八进制.十六进制.也就是说,同一个整数,我们至少有4种表示方式 l 软件开发,肯定要了解这个 2. 二进制 1> 特点:只有0和1,逢2进1 2> 书写格式:0b或者0b开头 3> 使用场合:二进制指令\二进制文件,变量在内存中就是二进制存储 4> 二进制和十进制的互相转换 5> n为二进制位所能…
进制 日常生活中,我们最熟悉的数据就是十进制计数.它的数值部分由十个不同的数字符号0.1.2.3.4.5.6.7.8.9来表示,我们把这些数字符号叫做数码,表示十种不同的状态.数码处于不同的位置(或数位)代表的意义是不同的. 二进制数的含义 二进制数的每个数位只可能取两个不同的数码"0"和"1",而且是"逢二进一".为了熟悉二进制数的表示,我们就几个简单的数字,列出二进制数与其对应的十进制数.正如十进制数据中最大的数码是9一样,在二进制数据中最大…
(())与let是等效的 arithmetic expression type 与[是等效的 source与.是等效的 其实,Shell(这里是Bash)本身不具备处理浮点计算的能力,但是可以使用“bc”这个高精度的计算器工具来帮助,另外,也可以在Bash中调用“awk”脚本来处理浮点运算. linux shell 不同进制数据转换(二进制,八进制,十六进制,base64) shell可以在不调用第3方命令,表示不同进制数据.这里总结以下表示方法.shell 脚本默认数值是由10 进制数处理,除…
进制转换是常常需要的一种数据处理,在java中的一些类中封装了具有转换功能的方法,这个不做介绍.其实,进制之间的转化是通过先位异或&,再位移动>>>的方式实现的. 例如,对于一个十进制的整数而言,Int整型占4个字节,每一个字节为8个bit位,所以整型数据有32位bit.将整型转换为二进制,需要先将基数num=num&1,然后将32位bit右移>>>1位,直到num!=0条件不满足即可 将整型转换为八进制,需要先将基数num=num&7,然后将3…