codeforces round229 div2 前三题题解

= =D题读了一遍题 发现没有明白。。。于是后两题就弃了没做。。。


A题

用两个bool数组记录某一行或者某一列是否访问过,再有两个int记录有多少个行和列访问过,输出这两个int里面比较下的一个即可。


B题

判断a[i]+a[i]>=b[i]是否成立 如果不成立则说明这里是不和谐的joy--;当成立时,joy+=b[i]/2*(b[i] - b[i]/2);(注意这里要判断b[i]/2 和 b[i] - b[i]/2是否为0,如果为0的话,joy--,这里被坑了= =)

再来就是注意要用__int64储存答案;


C题

我们用a[i]记录从第一个数开始到第i个数中1的个数,再使用b[i]记录i/k,i/k+k,i/k+2k,……,i中0的个数。

若查询的范围是i到j,那么b[j] - b[i - k]就是操作中放入1的总数,而此时(a[j] - a[i - 1]) - ((j - i +1) / k - b[j] - b[i - 1]) 就是需要拿掉1的个数

所以答案就是a[j] - a[i - 1] - (j - i + 1) / k + 2 * (b[j] - b[i - 1])



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,根据提供的引用内容,我无法理解你具体想要问什么问题。请提供更清晰明确的问题,我将竭诚为你解答。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Codeforces Round 860 (Div. 2)题解](https://blog.csdn.net/qq_60653991/article/details/129802687)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [【CodeforcesCodeforces Round 865 (Div. 2) (补赛)](https://blog.csdn.net/t_mod/article/details/130104033)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Codeforces Round 872 (Div. 2)(前三道](https://blog.csdn.net/qq_68286180/article/details/130570952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值