文章
130
标签
74
分类
11
首页
时间轴
标签
潘业成的博客
EOJ Monthly 2020.1回文时间 题解
返回首页
首页
时间轴
标签
EOJ Monthly 2020.1回文时间 题解
发表于
2020-09-26
|
更新于
2026-01-18
|
编程与算法
|
浏览量:
文章作者:
TDppy
文章链接:
https://www.whyc.fun/2020/Q3/eoj-monthly-2020-1-palindrome-time-solution/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
潘业成的博客
!
C++
算法
编程竞赛
上一篇
【C语言取反运算符】~2是多少?~-5是多少?
标题的答案:~2=-3~-3=2原理是什么?我们先来看这个程序及输出的结果: 容易总结出这样一个结论:i=-i-1为什么呢?**一言以蔽之,运算符是对i的补码(含符号位)进行取反。**2的原码是0000 0010 正数补码是其本身0000 0010取反(含符号位)后补码变成1111 1101 此时补码为负数,换成原码要符号位不变,减去1,再取反,即原码成了1000 0011 即为-3 -5的原码是1000 0101 负数的补码是原码符号位不变、取反并+1,因此补码是1111 1011 ,对补码取反(含符号位) 此时补码为0000 0100 补码此时符号位是正,因此原码也是0000 0100 即为4 因此,~i=-i-1。 如果想要更充分的理解这个结论,来考虑一下,对任意一个二进制数取反的含义是什么?1010取反是01010100取反是1011,容易看出取反的本质就是找一个数和原来的相加得到每一位均为1的数,因此要找的数就是2^M-1-a,M是位数(例如1010有四位,15-10=5,5就是0101)
下一篇
【蓝桥杯备战】从零开始死磕搜索技术之全排列问题
这篇主要写一下DFS解全排列问题。 --> 这题有两种做法,一是DFS,二是利用STL的next_permutation函数,第二种比较简单,分析一下第一种做法。以N=3为例,结果为:1 2 31 3 22 1 32 3 13 1 23 2 1先上一下搜索结果示意图: 从图中我们可以看到,如果要用深度优先搜索来解决这个问题,当遇到相同的元素时应当避开(题目要求所产生的任一数字序列中不允许出现重复数字。) 因此,我们需要用一个chosen[i]来表示i这个值是否已经被选过。chosen[i]=1时已经被选过,chosen[i]=0时未选过。此外,对于每一层选中的元素,需要一个order[k]来表示第k层选中元素的值。下面上代码,读者可以看看代码中的注释并以N=3为例来模拟一下这个过程。 123456789101112131415161718192021222324252627282930313233343536373839#include <iostream>using namespace std;//order[K]表示...
相关推荐
2020-07-19
【安装配置】devc++怎么改变括号高亮颜色?
工具–编辑器选项–点第三栏“语法”–拖拽左边的条目,找到symbol,设置前景颜色并确定。
TDppy
文章
130
标签
74
分类
11
Follow Me
公告
如何呢,又能怎。
最新文章
【操作系统】RISC-V PLIC总结
2026-01-18
欢迎来到潘业成的博客
2026-01-12
【操作系统】xv6操作系统中按下键盘回车后发生的事情
2026-01-10
【操作系统】手撸xv6操作系统——types.h_param.h_memlayout.h_riscv.h_defs.h头文件解析
2026-01-06
【操作系统】手撸xv6操作系统——entry.S和start.c解析
2025-12-30