hdu 1735(贪心) 统计字数
戳我穿越:http://acm.hdu.edu.cn/showproblem.php?pid=1735
对于贪心,二分,枚举等基础一定要掌握的很牢,要一步一个脚印走踏实
这是道贪心的题目,要有贪心的意识。
首先将所有为0的地方统计,因为是求最小的字数,所有最后一行后面的0可以看为空格直接减掉,
因为有m段(一定包括第一行),再减去m*2,最后枚举每行,将至少前两个为0的上一行的最后有多少
的0统计起来排序,再依次减去前m-1个大的,这样就保证了得到的答案是符合条件中最小的
code
#include<cstdio>
#include<algorithm>
using namespace std;
int yj[][],lsy[];
bool cmp(int x,int y){return x>y;}
int main()
{
int n,m,x,sum,ans,i,j,k,flag;
while (~scanf("%d %d %d",&n,&m,&x))
{
sum=;
for (i=;i<=n;i++)
{
for (j=;j<=m;j++)
{
scanf("%d",&yj[i][j]);
if (!yj[i][j])
sum++;
}
}
//printf("%d\n",sum);
for (i=m;i>=;i--)
{
if (!yj[n][i]) sum--;
else break;
}
//printf("%d\n",sum);
k=;
for (i=;i<=n;i++)
{
ans=;flag=;
if (!yj[i][]&&!yj[i][])
{
flag=;
for (j=m;j>=;j--)
{
if (!yj[i-][j])
ans++;
else
break;
}
}
if (flag)
lsy[k++]=ans;
}
sum-=*x;x--;
/*for (i=1;i<k;i++)
printf("%d ",lsy[i]);
printf("\n");*/
sort(lsy+,lsy+k,cmp);
for (i=;i<=x;i++)
sum-=lsy[i];
printf("%d\n",sum);
}
return ;
}
hdu 1735(贪心) 统计字数的更多相关文章
- HDU 2008 数值统计
题目链接:HDU 2008 Description 统计给定的n个数中,负数.零和正数的个数. Input 输入数据有多组,每组占一行,每行的第一个数是整数n(n<100),表示需要统计的数值的 ...
- word2016_统计字数
统计字数 审阅->字数统计
- textarea统计字数
开发项目中经常会用到,textarea统计字数 源码如下: <!DOCTYPE html><html lang="en"><head> < ...
- textarea还剩余字数统计,支持复制粘贴的时候统计字数
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- HDU 1735 字数统计(模拟+一点点贪心的思想)
题目戳我 字数统计 Time Limit: 1000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- hdu 1735 字数统计
这道题是到贪心的题目,首先用ans记录下所有的0的个数,然后尽量去掉更多的0,剩下的0的个数就是最少的字数.首先想到最后一行的0的个数可以减掉,然后就是m行开头的两个0可以减掉.然后思考最多还可以减掉 ...
- Hdu 5289-Assignment 贪心,ST表
题目: http://acm.hdu.edu.cn/showproblem.php?pid=5289 Assignment Time Limit: 4000/2000 MS (Java/Others) ...
- codeforces 675E Trains and Statistic 线段树+贪心统计
分析:这个题刚看起来无从下手 但是我们可以先简化问题,首先可以固定起点i,求出i+1到n的最小距离 它可以到达的范围是[i+1,a[i]],贪心的想,我们希望换一次车可以到达的距离尽量远 即:找一个k ...
- hdu 4803 贪心/思维题
http://acm.hdu.edu.cn/showproblem.php?pid=4803 话说C++还卡精度么? G++ AC C++ WA 我自己的贪心策略错了 -- 就是尽量下键,然后上 ...
随机推荐
- Java8 parallelStream与迭代器Iterator性能
定义一个测试类 public class TestParallelStream { private List<Integer> list; private int size; privat ...
- php支付宝接口 的使用
下载地址(java/php都有) https://doc.open.alipay.com/doc2/detail?treeId=66&articleId=103571&docType= ...
- maven开发工具安装
Maven安装并测试步骤: 1.下载并解压meaven.zip: 2.配置环境变量“M2_HOME”指向meaven安装目录: 3.添加“%M2_HOME%\bin;”到path环境变量中: 4.测试 ...
- vs中更改项目名称注意事项
1,项目属性中的所有需要改的地方,还有程序集名称. 2,解决方案用记事本打开更改启动路径. 3,重新加载即可.
- CSS3 Backgrounds相关介绍
CSS3 Backgrounds相关介绍 1.背景图片(background images)是在padding-box的左上角落脚安家的,我们可以使用background-position属性改变默认 ...
- harbor在centos7.4下面配置自签名证书(域名是端口映射)
1.harbor安装,按常规安装. 注意事项,端口映射 端口要外网的与内网一至. 配置文件修改 vim docker-compose.yml proxy: image: vmware/nginx-ph ...
- 二叉树的镜像(python)
题目描述 操作给定的二叉树,将其变换为源二叉树的镜像. 输入描述: 二叉树的镜像定义:源二叉树 8 / \ 6 10 / \ / \ 5 7 9 11 镜像二叉树 8 / \ 10 6 / \ / \ ...
- Java 的静态工厂方法
本文转载自:https://www.jianshu.com/p/ceb5ec8f1174 序:什么是静态工厂方法 Effective Java 2.1 静态工厂方法与构造器不同的第一优势在于,它们有名 ...
- Delphi异步编程:匿名线程与匿名方法
异步编程,是项目中非常有用的而且常用的一种方法,大多以线程实现. 而Delphi传统方法使用线程略为烦琐,好在其后续版本中,提供一些方法,简化一些操作. 几个概念: 匿名线程:TAnonymousTh ...
- 【centos】centos中添加一个新用户,并授权
前言 有时候给root用户不太方便,新建一个用于并赋予权限这个做法相对好些 创建新用户 创建一个用户名为:cmj [root@localhost ~]# adduser cmj 为这个用户初始化密码, ...