首页 > 其他 > 详细

做题过程中新get到的知识

时间:2020-09-26 18:17:21      阅读:25      评论:0      收藏:0      [点我收藏+]

1.万能头文件

#include<bits/stdc++.h>

最近准备往算法上搞了,搞的结果就是基本上写不出来,得不断搜题解,搜题解的过程中还有我没学过的好多知识,,,,然后就,奥利给,学!!
发现了一个万能头文件,它包含了目前c++包含的所有头文件!!!!!!

whatever,炸裂开心啊哈哈哈哈哈哈

2.左移右移运算符
转载:
https://blog.csdn.net/qq_39790992/article/details/82313960

因为博文真的太长了,所以就放个链接在这吧...

题目:
n组询问,每次给出一个区间l, rl,r,你需要输出在这个区间内二进制表示中1的个数最多的数

如有多个答案,输出最小的那个

输入输出样例
输入
3
1 2
2 4
1 10
输出
1
3
7

心路历程:
这道题我刚开始很快就写出来了,用的暴力,然而,,显而易见的它过不了,会超时,QAQ
所以我就又查了题解
大佬们说这明显用的是贪心
在位权小的位置放1能使结果最小。

代码:

#include <bits/stdc++.h>
using namespace std ;
#define int long long 
int n,l,r ;
signed main(){            //signed main 是因为define long long了
	scanf("%lld",&n) ;
	while(n--){
		scanf("%lld%lld",&l,&r) ;
		for (int i=0;;i++){
			if ((l|(1ll<<i))>r) break ;
			l|=(1ll<<i) ;
		} 
		printf("%lld\n",l) ;
	} 
    return 0 ;
}

yuko

做题过程中新get到的知识

原文:https://www.cnblogs.com/yuko9/p/13735746.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!