AtCoder Beginner Contest 062(CD)

C - Chocolate Bar

思路:暴力。因为只能切222刀,所以最多只有444种情况,然后暴力枚举第一刀横着切或者竖着切的长度即可。

ll fun(ll s,ll x,ll y){ll a=x>>1,b=y>>1;ll t1[3],t2[3];t1[0]=abs(a*y-s),t1[1]=abs((x-a)*y-s),t1[2]=abs(a*y-(x-a)*y);sort(t1,t1+3);ll ans=t1[2];t2[0]=abs(b*x-s),t2[1]=abs((y-b)*x-s),t2[2]=abs(b*x-(y-b)*x);sort(t2,t2+3);return min(ans,t2[2]);
}
int main(){ll h,w;cin>>h>>w;ll s=h*w;if(s%3==0)  puts("0");else {ll ans=1e15;for(int i=1;i<h;i++){ans=min(ans,fun(i*w,h-i,w));}for(int i=1;i<w;i++){ans=min(ans,fun(i*h,w-i,h));}cout<<ans<<endl;}

D - 3N Numbers

思路:暴力+优先队列。

考虑最后的答案:a′a'a′的前nnn个数标记为000,后nnn个数标记为222,被删除的数记为111。

我们要从前kkk个数选取nnn个数作为a′a'a′的前nnn个数,然后从剩下3n−k3n-k3n−k个数选取选取nnn个数作为a′a'a′的后nnn个数。

显然前面选最大的,后面选最小的。

k∈[n,2n]k\in[n,2n]k∈[n,2n]
然后就可以用优先队列暴力递推,左右两次。

最后遍历取max(l[k]−r[k+1]),k∈[n,2n]max(l[k]-r[k+1]),k\in[n,2n]max(l[k]−r[k+1]),k∈[n,2n]即可。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=3e5+5,M=2e4+5,inf=0x3f3f3f3f,mod=1e9+7;
#define mst(a,b) memset(a,b,sizeof a)
#define lx x<<1
#define rx x<<1|1
#define reg register
#define PII pair<int,int>
#define fi first
#define se second
#define pb push_back
#define il inline
int a[N],n;
ll l[N],r[N];
int main(){scanf("%d",&n);priority_queue<int>qr;priority_queue<int,vector<int>,greater<int> >ql;ll s=0,t=0;for(int i=1;i<=3*n;i++){scanf("%d",&a[i]);if(i<=n) ql.push(a[i]),s+=a[i];else if(i<=2*n){s+=a[i];ql.push(a[i]);s-=ql.top();ql.pop();}else {qr.push(a[i]),t+=a[i];}if(i>=n&&i<=2*n) l[i]=s;}r[2*n+1]=t;for(int i=2*n;i>n;i--){t+=a[i];qr.push(a[i]);t-=qr.top();qr.pop();r[i]=t;}ll ans=-1e15;for(int i=n;i<=2*n;i++){if(ans<l[i]-r[i+1]) ans=l[i]-r[i+1]; } printf("%lld\n",ans);return 0;
}

AtCoder Beginner Contest 062(CD)相关推荐

  1. AtCoder Beginner Contest 202 D - aab aba baa(组合计数,字典序)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Problem 有 AAA 和 aaa,BBB 个 bbb ,可以使用这 A+BA+BA+B 个字符任 ...

  2. AtCoder Beginner Contest 197 题解(A ~ F)

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Rotate B - Visibility C - ORXOR D - Opposite ...

  3. AtCoder Beginner Contest 198 (A ~ F)题解

    目录 A. Div B. Palindrome with leading zeros C. Compass Walking D. Send More Money E. Unique Color F. ...

  4. AtCoder Beginner Contest 215 G - Colorful Candies 2

    AtCoder Beginner Contest 215 G - Colorful Candies 2 有n个糖果,每个糖果有着一个颜色a[i],每次拿k个糖果期望拿到E(x)个不同颜色的糖果,求出k ...

  5. AtCoder Beginner Contest 215 F - Dist Max 2

    AtCoder Beginner Contest 215 F - Dist Max 2 平面上有一系列的点(xi,yi)(x_i,y_i)(xi​,yi​),定义两点(xi,yi),(xj,yj)(x ...

  6. AtCoder Beginner Contest 215 E - Chain Contestant

    AtCoder Beginner Contest 215 E - Chain Contestant 给出一个只包括A~J的字符串,定义一种子序列为:在这个子序列中,相同的字符必定连续出现,求出这样的子 ...

  7. AtCoder Beginner Contest 204 F Hanjo 2

    AtCoder Beginner Contest 204 F Hanjo 2 H宽,W长的二维平面上,用1 * 1或者2 * 1的地砖来铺,要求铺满,求出方案数. 数据范围H <= 6, W & ...

  8. Caddi Programming Contest 2021(AtCoder Beginner Contest 193) 题解

    Caddi Programming Contest 2021(AtCoder Beginner Contest 193) A - Discount 打折浮点数除即可 B - Play Snuke 枚举 ...

  9. Mynavi Programming Contest 2021(AtCoder Beginner Contest 201)题解

    文章目录 A - Tiny Arithmetic Sequence B - Do you know the second highest mountain? C - Secret Number D - ...

  10. KYOCERA Programming Contest 2021(AtCoder Beginner Contest 200)题解

    文章目录 A - Century B - 200th ABC-200 C - Ringo's Favorite Numbers 2 D - Happy Birthday! 2 E - Patisser ...

最新文章

  1. oracle排序后的第一条记录
  2. FIneCMS /dayrui/libraries/Chart/ofc_upload_image.php Arbitrary File Upload Vul
  3. Spring Data JPA事务管理
  4. 自主可控的安全关键领域国产工业软件SkyEye
  5. 海淀某互联网公司鼓励员工尽量住在公司
  6. kubernetes-Deployment部署无状态服务的原理详解(七)
  7. 接口 对象 = new 实现类 与 实现类 对象= new 实现类
  8. redis-对象的存储-JSON
  9. Webstorm配置运行React Native
  10. 利用爬虫和微信机器人自动刷甘肃教师学苑学分
  11. prezi desktop
  12. jdbc驱动加载过程
  13. 专题:固体力学中应力与应变分析详解(4.应力张量的转换)
  14. 跨境电商ERP铺货自发货系统OEM贴牌是什么意思
  15. SAP License:ERP系统和OA系统的区别?
  16. android q mix3,Android Q+5G 小米MIX3流畅播放8K视频
  17. V-REP仿真环境的简单应用及RemoteAPI控制
  18. opencv3中的图像混合操作
  19. 自愈的三把钥匙:接受,改变,离开
  20. 在类xx中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args)否则 JavaFX 应用程序类必须....

热门文章

  1. Android studio Intent
  2. 解决Unable to find a single main class from the following candidates
  3. win8 计算机组策略,win8打开组策略提示“无法找到组策略”的原因及解决措施
  4. AMS1117稳压芯片介绍
  5. china-pub第3波免费赠书正式推出,精品赠书20册,抢楼得书!
  6. 联想小新固态硬盘安装Win7或者win10过程
  7. Linux ubuntu14.04 下 chromium 浏览器 CPU占用资源优化
  8. 对“鬼压床”现象的科学解释与防治
  9. 爬虫入门(3)——拉钩网
  10. win10计算机睡眠怎么设置密码,怎么取消win10睡眠模式唤醒密码 Win10睡眠模式怎么设置取消唤醒密码...