题目1 : 数位翻转

时间限制:20000ms
单点时限:1000ms
内存限制:256MB

描述

给定一个数 n,你可以进行若干次操作,每次操作可以翻转 n 的二进制表示下的某一位,即将 0 变成 1,1 变成 0

现在小 Hi 想知道,至少需要多少次操作,才能将 n 变成 n-1

输入

一个正整数 n

1 ≤ n ≤ 109

输出

输出最少的操作次数

样例输入
10
样例输出
2
 // 2018-07-29
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define ll long long using namespace std; int main()
{
ll n;
while(cin>>n){
ll ans = n^(n-);
int cnt = ;
while(ans){
if(ans&1LL){
cnt++;
}
ans>>=;
}
cout<<cnt<<endl;
} return ;
}

题目2 : 最短公共子序列

时间限制:20000ms
单点时限:1000ms
内存限制:256MB

描述

给定一个 01 串 A,你需要找一个和它等长的01串 B,使得 A 和 B 的最长公共子序列最短

为了方便,你不需要输出 B,你只需要输出 A 和 B 的最长公共子序列的长度

输入

第一行一个 01 串 A

1 ≤ |A| ≤ 105

输出

输出最短的长度

样例输入
000111
样例输出
3
 // 2018-07-29
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> using namespace std; string str; int main()
{
cin>>str;
int len = str.length();
int zero = , one = ;
for(int i = ; i < len; i++)
if(str[i] == '')zero++;
else one++;
cout<<min(zero, one)<<endl; return ;
}

题目3 : 拼三角形

时间限制:20000ms
单点时限:1000ms
内存限制:256MB

描述

给定 n 根木棍,第 i 根长度为 ai

现在你想用他们拼成尽量多的面积大于 0 的三角形,要求每根木棍只能被用一次,且不能折断

请你求出最多能拼出几个

输入

第一行一个正整数 n

第二行 n 个正整数 a1 … an

1 ≤ n ≤ 15

1 ≤ ai ≤ 109

输出

输出最多能拼出几个三角形

样例输入
6
2 2 3 4 5 6
样例输出
2
 // 2018-07-29
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define ll long long using namespace std; ll arr[];
int n, ans;
bool vis[]; void dfs(int step){
for(int i = ; i <= n; i++){
for(int j = i+; j <= n; j++){
for(int k = j+; k <= n; k++){
if(!vis[i] && !vis[j] && !vis[k] && arr[i]+arr[j]>arr[k]){
vis[i] = vis[j] = vis[k] = true;
ans = max(ans, step);
dfs(step+);
vis[i] = vis[j] = vis[k] = false;
}
}
}
}
return;
} int main()
{
cin>>n;
for(int i = ; i <= n; i++)
cin>>arr[i];
ans = ;
sort(arr+, arr++n);
memset(vis, , sizeof(vis));
dfs();
cout<<ans<<endl; return ;
}

hihoCoder编程练习赛70的更多相关文章

  1. Hihocoder [Offer收割]编程练习赛70 解题报告 By cellur925

    并没有第四题.(还不会矩阵乘法加速线性数列) 题目1 : 数位翻转 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数 n,你可以进行若干次操作,每次操作可以翻转 ...

  2. hihocoder编程练习赛75

    题目1 : 工作城市分配 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 H公司在北京和上海两个城市各有一间办公室.该公司最近新招募了2N名员工,小Hi负责把这2N名员工 ...

  3. hihocoder 编程练习赛23

    第一题:H国的身份证号码I 题意:一个N位的正整数(首位不能是0).每位数字都小于等于K,并且任意相邻两位数字的乘积也小于等于K.按从小到大的顺序输出所有合法的N位号码,每个号码占一行. 思路:dfs ...

  4. hihoCoder编程练习赛72

    题目1 : 玩具设计师 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Ho作为Z国知名玩具品牌AKIRE的首席设计师,对玩具零件的挑剔程度已经到了叹为观止的地步.所有 ...

  5. hihoCoder编程练习赛69

    题目1 : 偶数长度回文子串 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个小写字母字符串,请判断它是否有长度为偶数的非空连续回文子串 输入 输入包含多组数据. ...

  6. hihoCoder编程练习赛67

    题目1 : 序列 时间限制:20000ms 单点时限:1000ms 内存限制:256MB 描述 给定两个正整数 n, P,求满足以下两个条件的长度为 n 的序列 ai 个数: 1. 1 ≤ ai ≤ ...

  7. hihoCoder编程练习赛52

    题目1 : 字符串排序 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 一般我们在对字符串排序时,都会按照字典序排序.当字符串只包含小写字母时,相当于按字母表" ...

  8. hihoCoder编程练习赛49

    题目1 : 相似颜色 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 在CSS中我们可以用井号(#)加6位十六进制数表示一种颜色,例如#000000是黑色,#ff0000 ...

  9. hihocoder编程练习赛91:相邻字符串

    题目链接 给定一个长度小于1e5的字符串s,s中字符全是大写英语字母.现在要寻找s中有多少组邻近的"hio"字符串,邻近的定义如下:hi距离+io距离+ho距离小于k.输入k和s, ...

随机推荐

  1. nodejs常用代码片段

    自动创建目录(多级) 相比起使用递归创建,调用 sheljsl 模块简单得多 const shell = require('shelljs') const fs = require('fs') if ...

  2. Xftp5软件使用详解

    一.首先运行Xftp5,然后导航栏上面有个小加号,点击进去. 二.接着出现如下界面,在这里填写名称(这个随意填写),主机填写要连接的主机的IP地址,然后协议的话,Linux系统一般选择SFTP协议,端 ...

  3. 脑残式网络编程入门(六):什么是公网IP和内网IP?NAT转换又是什么鬼?

    本文引用了“帅地”发表于公众号苦逼的码农的技术分享. 1.引言 搞网络通信应用开发的程序员,可能会经常听到外网IP(即互联网IP地址)和内网IP(即局域网IP地址),但他们的区别是什么?又有什么关系呢 ...

  4. 吴恩达机器学习笔记4-代价函数III(cost function)

    这是代价函数的样子,等高线图,则可以看出在三维空间中存在一个使得

  5. python pip 安装库文件报错:pip install ImportError: No module named _internal

    解决方法: pip2.7, you can at first curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py then python2. ...

  6. 安卓ListView行详细内容展示页编写和下拉刷新实现

    ListView行详细内容展示页: 使用轻量级的Fragment实现Listview行内容简单的详细信息展示: 值得注意的是: 1. 主布局(打开它的Activity)必须是FrameLayout布局 ...

  7. python连接Greenplum数据库

    配置greenplum客户端认证 配置pg_hba.conf cd /home/gpadmin/gpdbdata/master/gpseg- vim pg_hba.conf 增加 host all g ...

  8. vue属性监听

    1.watch:用来监听每一个属性的变化 2.watch这个对象里面都是函数,函数的名称是data中的属性名称,watch中的函数不需要调用 3.当属性发生改变那么就会触发watch函数,每个函数都会 ...

  9. mysql 开发进阶篇系列 52 权限与安全(系统四个权限表的粒度控制关系)

    一.概述 接着上篇的权限介绍,当用户进行连接的时候,权限表的存取过程有以下两个阶段: (1) 先从user表中的host,user, authentication_string 这3个字段中判断连接的 ...

  10. Homebrew简介和基本使用

    一.Homebrew是什么 Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径 ...