题意:可以通过选取下标不同的两个数,使其中一个数的值增加,另一个数的值减小。问:反复操作后高度差最小为?
思路:答案只可能为0或1。当所有数之和能被数字的个数整除时说明通过移动总是可以让高度差为0的。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;void solve()
{ll n,ans=0;cin>>n;for(int i=0;i<n;i++){ll t;cin>>t;ans+=t;} if(ans%n)//不能整除cout<<1<<endl;else//可以整除cout<<0<<endl;
}int main()
{ios::sync_with_stdio(false);int t=1;cin>>t;while(t--) solve();return 0;
}


题意:给定一个区间[l,r],为了使区间中所有的数字的按位与&结果不为零,你需要去掉其中一部分数字。问:最少去掉多少数字使按位与结果不为零。
思路:2e5大概是2的18次方,也就是18位,每一位上1最多的那一组数字是最优的,其余数字需要去掉,即结果为区间长度-最优数字个数。统计[1,2e5]区间所有数字每一位上的1个数的前缀和,方便查询。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5+5;
ll a[20][N];void solve()
{ll l, r, ans = 0;cin>>l>>r; ll len = r - l + 1;for(int i=0;i<20;i++){ans=max(a[i][r]-a[i][l-1],ans);//统计每一位上1的个数的最优值 }//区间长度-最优数字个数 cout<<len-ans<<endl;
} int main()
{int t;cin>>t;//每一位上1的个数的前缀和 for(int i=0;i<20;i++){for(int j=1;j<N;j++){a[i][j]=a[i][j-1]+((j>>i)&1);}}while(t--) solve();return 0;
}


题意:给定只包含’0’和’1’的两个串a和b,每次可以选中a串中的’1’并将a中的其它字符取反。问:至少需要多少次可以使a串变为b串?如果没有解输出-1.
大致思路:首先必须明晰:连续操作两次并选取不同下标的’1’相当于将不同位置的’0’和’1’互换。因此当a和b串中的’1’的个数相同时有解,或当选中a串中的一个’1’取反,此时,a串中的’1’的个数等于原来’0’的个数加1,也是有解的。否则无解。这样每两次操作可以还原两个值。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 2e5+5;
#define inf 0x3f3f3f3fvoid solve()
{int cnt=0,n;string s,t;cin>>n;cin>>s>>t;int cnt1=count(s.begin(),s.end(),'1');int cnt2=count(t.begin(),t.end(),'1');for(int i=0;i<n;i++) {cnt+=(s[i]!=t[i]);}int res=inf;if(cnt1==cnt2)res=min(res,cnt);if(cnt2==n-cnt1+1)//b串中的'1'的个数等于a串中的'0'的个数加1 res = min(res,n-cnt);if(res==inf)cout<<-1<<endl;elsecout<<res<<endl;
} int main()
{int t;cin>>t;while(t--) solve();return 0;
}

【Codeforces】Codeforces Global Round 18相关推荐

  1. 【cf】Codeforces 题解等汇总

    [cf]Codeforces Round #774 (Div. 2) 前4题 [cf]Codeforces Round #774 (Div. 2) 前4题_legend_yst的博客-CSDN博客 [ ...

  2. 【LeetCode】剑指 Offer 18. 删除链表的节点

    [LeetCode]剑指 Offer 18. 删除链表的节点 文章目录 [LeetCode]剑指 Offer 18. 删除链表的节点 一.双指针 一.双指针 本题删除值为 val 的结点需分为两步: ...

  3. 【CF补题】【ABC】Codeforces Round #777 (Div. 2) C++代码

     A. Madoka and Math Dad [题意]求连续不带零且不相等位数的最大十进制数,使其位数之和为 n.有t个测试n [思考]根据样例我们就可以推测答案是121212...或212121. ...

  4. 【模拟】Codeforces 710C Magic Odd Square

    题目链接: http://codeforces.com/problemset/problem/710/C 题目大意: 构造一个N*N的幻方.任意可行解. 幻方就是每一行,每一列,两条对角线的和都相等. ...

  5. 【模拟】Codeforces 705A Hulk

    题目链接: http://codeforces.com/problemset/problem/705/A 题目大意: 给一个数N(N<=100),N=1时输出"I hate it&qu ...

  6. 【模拟】Codeforces 711A Bus to Udayland

    题目链接: http://codeforces.com/problemset/problem/711/A 题目大意: N个字符串,每个字符串5位,找到第一个出现两个OO的并改成++输出YES和改后字符 ...

  7. 【Ubuntu-ROS】ubuntu16.04(18.04)ROS安装配置与卸载

    1. 查看是否已经安装ROS 打开一个terminal控制台,直行 roscore 命令,若控制台有以下信息输出,则表示ros已经安装了 ... logging to /home/idriver/.r ...

  8. 【CodeForces】Codeforces Global Round 9

    比赛链接 点击打开链接 官方题解 点击打开链接 Problem A. Sign Flipping 将奇数位的数取非正值,偶数位的数取非负值即可. 单组数据时间复杂度 O ( N ) O(N) O(N) ...

  9. 【cf】Codeforces Round #784(Div 4)

    由于一次比赛被虐得太惨,,生发开始写blog的想法,于是便有了这篇随笔(找了个近期的cf比赛练练手(bushi))第一次写blog,多多包涵. 第二场cf比赛,第一场打的Div2,被虐太惨,所以第二场 ...

最新文章

  1. AI眼中的世界是什么样子?谷歌新研究找到了机器的视觉概念
  2. 华为 connect大会2020_英诺森ProcessGo机器人亮相2019华为CONNECT大会
  3. 【数据结构与算法】之深入解析“组合总和”的求解思路与算法示例
  4. logs is not in the form of topic-partition or topic-partition.uniqueId-delete
  5. c#同类型操作最终得到的结果将是同类型
  6. Eraser unused space 失败的原因分析!
  7. python render_requests-html库render的使用
  8. Case:MySQL Federated存储引擎引起的慢SQL优化
  9. 找出单身狗java_Java单身狗 —— 单例模式
  10. 指纹识别 python实现_Python还真当是无所不能!利用Python做指纹识别播报!闻所未闻!-站长资讯中心...
  11. Docker使用redis
  12. Linux快速入门之一(基础)
  13. 一文了解几十万年的科技史
  14. 编程示例:公农历转换的算法
  15. 系统集成项目经理申报
  16. 单片机常用芯片系列(二)——DS18B20详解
  17. 链接:https://pan.baidu.com/s/1U-UlYoranUvpfj97XLrHvQ 提取码:ZMTD
  18. Elasticsearch 6.4 ingest-attachment对文件IK分词器全文检索
  19. bit(比特)和 byte(字节)的关系
  20. tf2.0 实现DeepFM

热门文章

  1. 全职高手主题曲计算机,全职高手电视剧所有歌曲介绍 主题曲片尾曲插曲
  2. 1、sensor see框架
  3. Linux软件raid删除
  4. 数学黑洞(一)令人拍案叫绝的卡布列克常数
  5. 每日一练2,希尔排序
  6. Golang优秀开源项目汇总(持续更新。。。)
  7. ASM字节码编程 | JavaAgent+ASM字节码插桩采集方法名称以及入参和出参结果并记录方法耗时
  8. OpenLayers实现小车的轨迹查询的功能
  9. 如何在同一个局域网内实现简单的两台Linux主机互相连接
  10. Spring Boot—13、发送电子邮件