带撤销贪心——cf1148F好题
自己不会做,看了题解懂得
从最高位依次往低位遍历,因为偶数个1是不改变符号的,所以带个贪心即可(可以看成是带撤销的。。)
每轮循环用sum记录该位选择1可以减少的值
如果是负数,就不要改成1
如果是正,就改成1,然后增加一次改成1的影响
怎么增加影响:如果一个数的i位改成1,等价于其在最终减少的值 *-1,
比如说原来是a[i],现在和&s 是 一个1,那么就直接变成-a[i]
然后又多了一个1, 那么又变成了 a[i], 即等价于每次影响乘以了 -1
#include <bits/stdc++.h> #define LL long long using namespace std; const int maxn = 300010; LL a[maxn], b[maxn]; int main() {int n;LL sum = 0;scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%lld%lld", &a[i], &b[i]);sum += a[i];}if(sum < 0) {for (int i = 1; i <= n; i++)a[i] = -a[i];}LL ans = 0;for (int j = 61; j >= 0; j--) {LL s = 0;for (int i = 1; i <= n; i++) {if(b[i] == (1ll << j)) s += a[i];}if(s > 0) ans |= (1ll << j);for (int i = 1; i <= n; i++) {if((b[i] >> j) & 1) {b[i] ^= (1ll << j);if(s > 0) a[i] = -a[i];}}}printf("%lld\n", ans); }
转载于:https://www.cnblogs.com/zsben991126/p/10985536.html
带撤销贪心——cf1148F好题相关推荐
- codeforces1271 D. Portals(dp or 带悔贪心)
D. Portals 由于每个点可以选择前面的某些点存在重复选择的情况,考虑除去重复选择的可能. 贪心:对于每一个城堡,我们都尽可能在最晚的时间控制,也就是在最后一个能控制它的点考虑是否控制. 于是考 ...
- BZOJ4358: permu(带撤销并查集 不删除莫队)
题意 题目链接 Sol 感觉自己已经老的爬不动了.. 想了一会儿,大概用个不删除莫队+带撤销并查集就能搞了吧,\(n \sqrt{n} logn\)应该卡的过去 不过不删除莫队咋写来着?....跑去学 ...
- 【学长带练】编程手算题
目录 1.空间 2.ASC 3.特殊时间 4.相乘 1.空间 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可. 小蓝准备用 256MB 的内存空间开一个数组,数组的每个元素都是 ...
- 【CodeForces - 1150A】Stock Arbitraging (贪心,水题)
题干: Welcome to Codeforces Stock Exchange! We're pretty limited now as we currently allow trading on ...
- kuangbin带你飞 专题1-23 题单
kuangbin大神,对于打过ACM比赛的ACMer,无人不知无人不晓. 在此,附上vjudge平台上一位大神整理的[kuangbin带你飞]专题目录链接. [kuangbin带你飞专题目录1-23] ...
- H12-821题库(带详细解析)201-300题
需要最新题库的小伙伴可以直接点赞+关注后私信(题库)获取! 201. (单选题)第三类LSA的Link ID是:60085467 A.所描述的ABR的Router ID ...
- [国家集训队]数颜色 / 维护队列 (带修莫队模板题)
题意: 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会向你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中共有几种不同颜色的画笔. 2. ...
- hdu5248序列变换(二分+贪心)基础题
题意(中文的直接粘题意吧) ...
- 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(昆明) AC(带悔贪心)
下面两个题都是选择iii有个价值如果选择iii则不能选择i−1,i+1i-1,i+1i−1,i+1,让价值最大或最小 P1792 [国家集训队]种树 野心qwq 的博客 #include<bit ...
最新文章
- 手机-字符串替换显示
- 新入门的小白,整理一下特别简单实用的div+css兼容性的问题。
- C++ Map传递参数
- js 前加分号和感叹号的含义
- time,gettimeofday,clock_gettime,_ftime
- 带有服务器回调的通用客户端——服务器 DotNet远程处理
- android 屏幕密度范围,Android屏幕密度
- Affine-Transformation Parameters Regression for Face Alignment
- 神仙道人物属性基础知识普及
- JavaScript中实现键值对的方法
- AlphaControls 控件 编辑皮肤 变更Glyphs控制符号
- 固定资产管理系统能帮助企业做哪些工作?
- Consul 基本概念,同类比较和内部原理
- PEPC丨磷酸烯醇丙酮酸羧化酶功能研究
- 怎么把pdf拆分成一页一页的单独文件?
- python使用win32com读写excel的问题
- 《海边的卡夫卡》--[日]村上春树
- 解锁bootloader_如何以官方方式解锁Android手机的Bootloader
- 记:《洛克菲勒留给儿子的38封信》-- 35
- 想知道哪个音频翻译成文字的软件好用?这篇文章能够给你答案