博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[bzoj4240] 有趣的家庭菜园
阅读量:4680 次
发布时间:2019-06-09

本文共 925 字,大约阅读时间需要 3 分钟。

  还是膜网上题解QAQ 

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

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

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

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

1 #include
2 #include
3 #include
4 #include
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
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
View Code

 

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

你可能感兴趣的文章
.NET 分布式技术比较
查看>>
SpringMVC视频
查看>>
Android中intent如何传递自定义数据类型
查看>>
Android蓝牙音乐获取歌曲信息
查看>>
android基础---->子线程更新UI
查看>>
SharedPreferences
查看>>
转载 线程池之ThreadPool类与辅助线程 - <第二篇>
查看>>
解决windows 10 9926 中vmware安装的虚拟机无法桥接上网的问题
查看>>
js获取元素样式
查看>>
合并排序(C语言实现)
查看>>
sql 计算两时间或日期 的相差的 年、 月、 日、时、分、秒,年、月、日分别的提取...
查看>>
HDU 1176免费馅饼 DP数塔问题转化
查看>>
十进制二进制转换
查看>>
shiro实战系列(七)之Realm
查看>>
数据库持久化比较
查看>>
超像素、语义分割、实例分割、全景分割 傻傻分不清?
查看>>
HMM学习
查看>>
10款GitHub上最火爆的国产开源项目
查看>>
关于js里的布尔值判断
查看>>
Hijackthis浏览器劫持日志精解_网络安全日志,还我蓝色天空(转载)
查看>>