当前位置: 首页 > news >正文

[bzoj4240] 有趣的家庭菜园

  还是膜网上题解QAQ 

  从低到高考虑,这样就不会影响后挪的草了。

  每次把草贪心地挪到代价较小的一边。位置为i的草,花费为min( 1..i-1中更高的草的数目,i+1..n中更高的草的数目 )

  因为更小的草已经被挪到两边了..所以代价就是更高的草的数目。

  拿个树状数组统计一下就好了。

 1 #include<cstdio>
 2 #include<iostream>
 3 #include<algorithm>
 4 #include<cstring>
 5 #define ll long long
 6 using namespace std;
 7 const int maxn=300002;
 8 struct zs{int v,id;}a[maxn];
 9 int mp[maxn],t[maxn],t1[maxn];
10 ll ans;
11 int i,j,k,n,m,cnt;
12  
13 int ra;char rx;
14 inline int read(){
15     rx=getchar(),ra=0;
16     while(rx<'0'||rx>'9')rx=getchar();
17     while(rx>='0'&&rx<='9')ra=ra*10+rx-48,rx=getchar();return ra;
18 }
19 bool cmp(zs a,zs b){return a.v<b.v;}
20 int main(){
21     n=read();register int j;int x,y;
22     for(i=1;i<=n;i++)a[i].v=read(),a[i].id=i;
23     sort(a+1,a+1+n,cmp);
24     for(i=1;i<=n;mp[a[i].id]=cnt,i++)cnt+=a[i].v!=a[i-1].v;
25     for(i=1;i<=n;i++){
26         j=mp[i];while(j<=cnt)t1[j]++,j+=j&-j;
27     }
28     for(i=n;i>1;i--){
29         j=mp[i];while(j<=cnt)t1[j]--,j+=j&-j;
30         x=n-i,y=i-1;
31         j=mp[i];while(j)x-=t[j],y-=t1[j],j-=j&-j;
32         ans+=x<y?x:y;
33         j=mp[i];while(j<=cnt)t[j]++,j+=j&-j;
34     }
35     printf("%lld\n",ans);
36 }
View Code

 

转载于:https://www.cnblogs.com/czllgzmzl/p/5622223.html

相关文章:

  • Java实战之04JavaWeb-01Servlet
  • 薪水增长多少,新机会才值得考虑——Leo网上答疑(55)
  • mysql主从
  • Windows Phone 7 不温不火学习之《项目模板》
  • 没有自动联想补齐代码的解决办法
  • Windows Phone 7 不温不火学习之《工程结构》
  • iOS面试题6.30总结
  • Winows Phone 7 不温不火学习之《音乐播放示例》
  • centos7安装eclipse
  • Windows Phone7 不温不火学习之《应用程序生命周期》
  • 你好,React setState
  • fastreport 如何 设置 richview 的 行高
  • Windows Phone 7 不温不火学习之《页面导航》
  • 我的ipad应用备份
  • 我又回来了
  • cookie和session
  • java第三方包学习之lombok
  • Rancher-k8s加速安装文档
  • Sass Day-01
  • Spring Cloud Feign的两种使用姿势
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 阿里云应用高可用服务公测发布
  • 构造函数(constructor)与原型链(prototype)关系
  • 入职第二天:使用koa搭建node server是种怎样的体验
  • 通过几道题目学习二叉搜索树
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 详解移动APP与web APP的区别
  • [Shell 脚本] 备份网站文件至OSS服务(纯shell脚本无sdk) ...
  • zabbix3.2监控linux磁盘IO
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​LeetCode解法汇总2670. 找出不同元素数目差数组
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #Linux(make工具和makefile文件以及makefile语法)
  • $ is not function   和JQUERY 命名 冲突的解说 Jquer问题 (
  • (分布式缓存)Redis持久化
  • (附源码)node.js知识分享网站 毕业设计 202038
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (汇总)os模块以及shutil模块对文件的操作
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十六)一篇文章学会Java的常用API
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用
  • (四)模仿学习-完成后台管理页面查询
  • (一)kafka实战——kafka源码编译启动
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • .htaccess 强制https 单独排除某个目录
  • .Net core 6.0 升8.0
  • .NET 材料检测系统崩溃分析
  • .NET/C# 使窗口永不激活(No Activate 永不获得焦点)
  • .NET导入Excel数据
  • .NET运行机制
  • [100天算法】-实现 strStr()(day 52)
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...