const int INF=0x3f3f3f3f;——ACM中的无穷大常量
0x3f3f3f3f 0x开头的 是十六进制常数, 等于 十进制 1061109567
等于 二进制: 00111111 00111111 00111111 00111111
const int inf=0x3f3f3f3f -- 声明 inf 是 const int型 , const 表示 inf 一旦有了值以后就不允许(通过赋值 来)改变它的值.
在算法竞赛中,我们常常需要用到设置一个常量用来代表“无穷大”。
比如对于int类型的数,有的人会采用INT_MAX,即0x7fffffff作为无穷大。但是以INT_MAX为无穷大常常面临一个问题,即加一个其他的数会溢出。
而这种情况在动态规划,或者其他一些递推的算法中常常出现,很有可能导致算法出问题。
所以在算法竞赛中,我们常采用0x3f3f3f3f来作为无穷大。0x3f3f3f3f主要有如下好处:
- 0x3f3f3f3f的十进制为1061109567,和INT_MAX一个数量级,即10^9数量级,而一般场合下的数据都是小于10^9的。
- 0x3f3f3f3f * 2 = 2122219134,无穷大相加依然不会溢出。
- 可以使用memset(array, 0x3f, sizeof(array))来为数组设初值为0x3f3f3f3f,因为这个数的每个字节都是0x3
const int INF=0x3f3f3f3f;——ACM中的无穷大常量相关推荐
- INF=0x3f3f3f3f背后的知识
我们知道计算机都是按照二进制存储的.在日常练习过程中,我们都会遇到INF无穷大量的问题,那么我们该怎么定义这么一个数字,下面便有一些说明: 0x3f3f3f3f的十进制是1061109567,也就是1 ...
- const int *,const int * const和int const *有什么区别?
我总是搞砸了如何正确使用<code>const int* , const int * const和int const * . 是否有一组规则定义您可以做什么和不能做什么? 我想知道在分配, ...
- c语言中 int和const int的区别
一.const int 和int 的区别 具体的是 int定义的是一个变量,不需要初始化const int定义的是常量,需要初始化 1.返回值 const int & 是返回这个数值的一个常量 ...
- QAQ……#define INF 0x3f3f3f3f 原来是定义成无穷大
经常在参观大佬的博客的时候看到这种写法,百思不得其解, "0x3f3f3f3f "是什么?/*虽然,似乎,好像刚刚看过进制转换--就当我选择性失忆吧*/ ------------- ...
- c语言const 修饰二级指针,C++中const修饰二级指针(从类型‘int**’到类型‘const int**’的转换无效)...
先上代码: void func(const int ** arg) { } int main(int argc, char **argv) { int **p; func(p); return 0; ...
- int i ; const int val=i ; 在C++中这种赋值对吗?
首先这种定义方式是可以通过编译的. int i; //定义(注意是定义,意味着分配了内存)一个int型变量i,同时没有初始化.那么i的值就是分配内存位置的值,这个值可能为任意值. const int ...
- C++中const int*, const int * const, 和 int const *区别
简介: 本文主要介绍C/C++中,const int*, const int * const, 和 int const *用法的区别,以及相关的示例代码. 1.const int, const int ...
- mysql中无穷大如何表示_编程中无穷大常量的设置技巧
如果问题中各数据的范围明确,那么无穷大的设定不是问题,在不明确的情况下,很多程序员都取0x7fffffff作为无穷大,因为这是32-bit int的最大值.如果这个无穷大只用于一般的比较(比如求最小值 ...
- [ACM训练] ACM中巧用文件的输入输出来改写acm程序的输入输出 + ACM中八大输入输出格式...
ACM中巧用文件的输入输出来改写acm程序的输入输出 经常有见大神们使用文件来代替ACM程序中的IO,尤其是当程序IO比较复杂时,可以使自己能够更专注于代码的测试,而不是怎样敲输入. C/C++代码中 ...
最新文章
- 旧式计算机,西雅图计算机博物馆 “复活”1973年老式计算机
- mysql远程连接数据库的二种方法_mysql 远程连接数据库的二种方法
- android: 静态XML和动态加载XML混合使用,以及重写Layout控件
- python中字符串添加r的作用,原始字符串不发生转义
- Ado.Net 实体类、数据连接类、数据访问类
- 选择排序:简单选择排序
- ESXI6.7虚拟机配置LACP静态汇聚端口网络负载均衡分流
- 27留数及其应用(三)
- IDC:2021年云上数据量超过传统数据中心,All in Cloud是趋势
- 美国3月通胀见顶了吗?
- 科来网络分析系统网络故障分析方法
- java自学-常见的API(String、ArryList)
- 关于扁平化界面风格的设计美学讨论
- 糖糖班趣事之棒棒糖篇
- Java_08 快速入门 Java常用类库
- hdu4114.Disney's FastPass
- 2022数模国赛河南赛区获奖名单
- 林业调查规划设计资质怎么办理?
- selenium实现高校班级打卡-石墨文档每日一报自动化
- python 一键爬取百度图片
热门文章
- T3-打印往来催款单时去掉表尾的【畅捷通软件】字样
- istio源码分析——pilot-agent如何管理envoy生命周期
- 把握新生代家装消费趋势,开启“双旦礼遇季”,修嗒嗒线上线下同欢庆!
- 学习笔记(03):大数据工程师新手必学实战:手把手教你做一份大数据行业分析报告-课程介绍...
- 工业废水处理专用消泡剂为何大受客户欢迎?
- android textview点击事件无效,textView autolink 导致点击事件无效
- 谈谈新的前端框架 Svelte 和现代前端框架的特点
- 硬盘坏了数据可以恢复吗?盘点数据恢复技巧
- 跳过密码打开excel表格xlsx,忘记excel表格xlsx密码如何找回?
- Activiti7.0进阶学习(三):assignee的值用UEL的POJO实现