正题


大意

将二进制从右到左的权值改为:

1,-2,4,-8,16,-32,64…

然后给出一个数用二进制表达出来,如:
−13=110111=1×(−32)+1×16+1×4+1×(−2)+1×1−13=110111=1×(−32)+1×16+1×4+1×(−2)+1×1-13=110111=1×(-32)+1×16+1×4+1×(-2)+1×1


解题思路

注意:这不是最优解。

比赛的时候就一直在想用贪心,其实我们可以如果是负数的话就把所有的都反过来,然后每次乘以4,把所有的加起来直到大于输出的数,然后将多余的减去就好了。

假设多出2,那么我们就将(-2)给加上。假设多出4那么就减去4,以此类推


代码

#include<cstdio>
using namespace std;
int n,nn,w,ans,y;
long long k,s;
bool a[10001];
int main()
{scanf("%d",&n);if (n==0){printf("0");return 0;}if (n<0){k=2;//第一个负数nn=-n;w=2;//第一个负数的位置}else{ans=1;nn=n;k=1;//第一个正数w=1;//位置}while (s<nn){s+=k;k*=4;//下一个(负/正)数w+=2;//位数}k/=4;w-=2;y=w;for (long long i=k;i>=1;i/=2){a[w]=true;if (s-i>=nn){s-=i;if (w%2==ans)a[w]=false;}else if (w%2!=ans){a[w]=false;}w--;}//去除多余的for (int i=y;i>=1;i--)if (a[i]) printf("1");else printf("0");
}

【2018.3.31】模拟赛之二-ssl2407 负进制【贪心】相关推荐

  1. 2018.10.31模拟赛

    T1 lgg L 君和 G 君在玩一个游戏.G 君写下一个字符串 A,L 君将其复制一遍连接到 A 串后面得 到字符串 B, G 君又在 B 的任意位置(包括首尾)插入一个字符得到字符串 C.现在你得 ...

  2. 2018.10.9模拟赛

    2018.10.9模拟赛 T1 trade 正解:贪心 据说lyd讲过但并没有印象QAQ,考场上现推浪费了不少时间 其实就开个小根堆,每次把堆顶取出来看它是不是比当前的 a[i]a[i]a[i] 小, ...

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

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

  4. 【蓝桥】第十一届软件类校内模拟赛(二)填空题部分

    起晚了起晚了,比赛都快结束了才整完qwq 文章目录 前言 填空题 1题目描述 2题目描述 3题目描述 4题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问 ...

  5. 2020/10/31模拟赛

    CSP第二轮前模拟赛 我太菜了 T1 题目描述 奶牛们对围栏的高度非常敏感.奶牛希望围栏高度既不太矮以至于他们没有安全感,也不太高以至于她们看不见围栏外的天地.所以每头奶牛都有自己喜欢的高度.奶牛有N ...

  6. 【蓝桥】软件校内模拟赛(二)反倍数 题目+题解

    文章目录 前言 反倍数 题目描述 前言 本题解为第十一届软件类校内模拟赛个人题解,但非官方满分题解,因此,可能存在下列问题 题意理解错误,导致答案错误. 代码中存在一些问题,导致答案错误. 算法复杂度 ...

  7. 计算机基础进制的换算教案,计算机系统基础(二)数值进制和进制转换

    http://kaito-kidd.com/2018/07/17/computer-system-binary-octal-hexadecimal-decimal/#more # 信息的二进制编码 在 ...

  8. EZ 2018 02 28 NOIP2018 模拟赛(二)

    我TM的终于改完了(其实都是SB题) 题目链接:http://211.140.156.254:2333/contest/53 T1送分,T2前40%送分,还有骗分机制在里面,T3暴力50 所以200应 ...

  9. 【2018.5.19】模拟赛之二-ssl2433 文件名排序【字符串】

    正题 大意 一些文件名,有的有后缀,有的没有. 现在要求(先满足前者) 1. 没有后缀的排最后 2. 后缀字典序 3. 名字字典序 解题思路 首先按后缀排序如果后缀一样就名字排序,然后两次枚举先搞定有 ...

最新文章

  1. WMI技术介绍和应用——查询本地用户和组
  2. iOS基础-高级视图-UITableView--实例:app管理
  3. 常用python编程软件-学习编程语言常用的10个工具、库——每个程序员都应该知道...
  4. ETHREAD 结构体属性介绍
  5. python自学月收入20k_懂Python的资深测开月薪已经20K起啦!我要追上大佬的脚步!...
  6. ORACLE union order by
  7. yara 模式匹配 android,YARA——恶意软件模式匹配利器
  8. 设计模式 适配器模式
  9. 关于idea中运行maven项目报错显示找不到包或符号的问题——终极方案
  10. python基础入门(超详细)
  11. 如何把SWF转为PDF文件
  12. 生物信息学笔记03 -- 基因组序列分析 方法
  13. type、dtype和astype
  14. 复盘罗辑思维卖月饼:微信电商的五大G点 (转)
  15. DISTINCT和COUNT的组合使用
  16. 4、传输介质——光纤与光缆
  17. python 之Entry
  18. 麻省理工的服务器位置,麻省理工学院的地理位置是怎样的?
  19. 财报识别OCR披露虚假财务报表
  20. Java小游戏项目:推箱子游戏

热门文章

  1. python except用法和作用_121个问题答对80%那么恭喜你,Python的高薪工作迟早有你一份...
  2. 1093芯片做正弦波逆变器_长途自驾游“缺电”如何选购正确车载逆变器,避开商家套路...
  3. html刮刮卡开始刮奖页面,html5刮刮卡抽奖 示例源码
  4. Java实现Huffman哈夫曼树
  5. [C++STL]C++实现priority_queue容器适配器
  6. 《C++ Primer》13.1.1节练习
  7. UVA - 725 Division-sprintf的妙用
  8. 数据结构与索引-- mySql索引诡异事件
  9. 数据结构-排序-分配类排序-知识点总结归纳3
  10. 2019-ACM-ICPC-南京区网络赛-E. K Sum(莫比乌斯反演 + 杜教筛)