正确的贪心方法:按照比例排序.

code:

#include <bits/stdc++.h>
#define N 200000
#define ll long long
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int n;
char str[N],S[N];
struct Node
{int l,r; double perc;
}t[N];
bool cmp(Node a,Node b)
{return a.perc>b.perc;
}
int main()
{int i,j,cnt=0; // msetIO("input"); scanf("%d",&n);          for(i=1;i<=n;++i) {scanf("%s",str+1);             int len=strlen(str+1),s=0; t[i].l=cnt+1; for(j=1;j<=len;++j) ++cnt, S[cnt]=str[j],s+=(str[j]=='s');              t[i].r=cnt; t[i].perc=(double)s/len;            }   ll pre=0,ans=0; sort(t+1,t+1+n,cmp); for(i=1;i<=n;++i) {int l=t[i].l; int r=t[i].r;  for(j=l;j<=r;++j) {if(S[j]=='s') {++pre; } else {ans+=pre;   }}}printf("%lld\n",ans); return 0;
}

  

CF922D Robot Vacuum Cleaner 贪心+排序相关推荐

  1. 【Codeforces 922D】Robot Vacuum Cleaner

    [链接] 我是链接,点我呀:) [题意] 让你把n个字符串重新排序,然后按顺序连接在一起 使得这个组成的字符串的"sh"子序列最多 [题解] /** 假设A的情况好于B* 也就对应 ...

  2. [CF]922D. Robot Vacuum Cleaner-结论排序

    传送门 题解 本来比的是si/hisi/his_i/h_i ,但是会爆精度,所以就比较sihj,sjhisihj,sjhis_ih_j,s_jh_i,这样会爆intintint,一定要加longlon ...

  3. 每日四题打卡-4.15:耍杂技的牛/贪心绝对值不等式-货仓选址/贪心排序不等式-排队打水/huffman哈夫曼树-合并果子

    耍杂技的牛 具体:https://blog.csdn.net/qq_27262727/article/details/105515507 农民约翰的N头奶牛(编号为1..N)计划逃跑并加入马戏团,为此 ...

  4. HDU 4442 Physical Examination(关于贪心排序)

    这个题目用贪心来做,关键是怎么贪心最小,那就是排序的问题了. 加入给定两个数a1, b1, a2, b2.那么如果先选1再选2的话,总的耗费就是a1 + a1 * b2 + a2; 如果先选2再选1, ...

  5. 【2018icpc宁夏邀请赛现场赛】【Gym - 102222H】Fight Against Monsters(贪心排序)

    题干: It is my great honour to introduce myself to you here. My name is Aloysius Benjy Cobweb Dartagna ...

  6. 【CCCC】L3-017 森森快递 (30分),线段树rmq模板+贪心排序

    problem L3-017 森森快递 (30分) 森森开了一家快递公司,叫森森快递.因为公司刚刚开张,所以业务路线很简单,可以认为是一条直线上的N个城市,这些城市从左到右依次从0到(N−1)编号.由 ...

  7. bzoj 1634: [Usaco2007 Jan]Protecting the Flowers 护花(贪心排序)

    1634: [Usaco2007 Jan]Protecting the Flowers 护花 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 824  S ...

  8. C算法-贪心+排序+双指针

    leetcode435,无重叠区间.给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠. [ [1,2], [2,3], [3,4], [1,3] ]移除1,3即可. leetcode ...

  9. 【52. 贪心 - 排序不等式(排队打水)】

    分析 当第i个人打水时,n-i个人都要在等待,i从1到n-1: 则总时间为b[1](n - 1) + b[2](n-2)+···+b[n-1]*1. 所以我们可以看出,要想让排队等待时间综合最小,一定 ...

最新文章

  1. 第十五届全国大学生智能汽车竞赛赛道拼装图
  2. python hist函数_虎哥的python小技巧放送之绘制统计图(2)
  3. 钻石2 D2 让你的diamond2待机2天,甚至2天以上的方法(绝对不是购买电池)
  4. Lakehouse 架构解析与云上实践
  5. 如何处理好与孩子沟通的关系?
  6. mysql交互式连接非交互式连接
  7. C++基础教程之函数
  8. 利用javaScript动态增加表格行,删除表格行
  9. 交换机的主要功能和工作特性
  10. Clonezilla SE---克隆linux------转载
  11. 一个QQ用户名/密码钓鱼分析
  12. 扣血抖动和FPS显示
  13. 经典BBS语录100条
  14. Android手机录制屏幕并转gif图
  15. spacy依存分析模型
  16. 刀剑乱舞极化图片_【刀剑乱舞】极化刀速查攻略
  17. 根据网址搜索类似的网站
  18. 第三次作业 软件产品同质化问题
  19. 一个机器人在m×n大小的地图的左上角(起点,下图中的标记“start“的位置)。 机器人每次向下或向右移动。机器人要到达地图的右下角。(终点,下图中的标记“Finish“的位置)。 可以有多少种不同
  20. Python分享消息到Twitter、Youtube、Facebook平台

热门文章

  1. Java 关于序列化、Json和Gson详解
  2. 说说SIGCLD和SIGCHLD
  3. 旅游与摄影杂志旅游与摄影杂志社旅游与摄影编辑部2023年第4期目录
  4. RARP的定义及工作原理
  5. 2021中大计算机考研,中山大学公布2021年硕士研究生招生拟录取名单公示的通知...
  6. 软工实训:Vi,Java,Ant,Junit的自学报告
  7. Pointnet++代码详解:farthest_point_sample函数
  8. 高速交警用血的案例总结的驾驶经验
  9. 揭秘中国第一个自主产权的“云计算”平台
  10. Wampserver集成Mysql更改密码后无法登陆,提示(HY000/1045)解决方案