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

网站建设公司在哪里宣传营销型网站建设多少钱

网站建设公司在哪里宣传,营销型网站建设多少钱,银川网站建设广告公司名单,蓝色大气企业网站phpcms模板目录 数组变换(贪⼼位运算) 题目解析 讲解算法原理 编写代码 装箱问题(动态规划-01背包) 题目解析 讲解算法原理 编写代码 数组变换(贪⼼位运算) 题目解析 1.题目链接:数组变换__牛客网…

目录

数组变换(贪⼼+位运算)

题目解析

讲解算法原理

编写代码

装箱问题(动态规划-01背包)

题目解析

讲解算法原理

编写代码


数组变换(贪⼼+位运算)

题目解析

1.题目链接:数组变换__牛客网

2.题目描述
 

牛牛有一个数组,里面的数可能不相等,现在他想把数组变为:所有的数都相等。问是否可行。
牛牛可以进行的操作是:将数组中的任意一个数改为这个数的两倍。

这个操作的使用次数不限,也可以不使用,并且可以对同一个位置使用多次。

数据范围:数组大小满足 1≤n≤50 1 \le n \le 50 \ 1≤n≤50  ,数组中的数满足 1≤val≤109 1 \le val \le 10^{9} \ 1≤val≤109 

输入描述:

输入一个正整数N (N <= 50)
接下来一行输入N个正整数,每个数均小于等于1e9.

输出描述:

假如经过若干次操作可以使得N个数都相等,那么输出"YES", 否则输出"NO"

示例1

输入

2
1 2

输出

YES

示例2

输入

3
1 2 3

输出

NO

讲解算法原理

解法:
算法思路:

如果能够变换成功,那么最⼤的数除以剩下的数的商,⼀定都是2的n次⽅。

编写代码

c++算法代码:

#include <iostream>
using namespace std;
int b;
int n;
int arr[51];
bool fun()
{for(int i = 0; i < n; i++){if(b % arr[i]) return false; int x = b / arr[i]; if(x - (x & -x)) return false; } return true;
}
int main()
{cin >> n;for(int i = 0; i < n; i++){cin >> arr[i]; b = max(b, arr[i]); }if(fun()) cout << "YES" << endl; else cout << "NO" << endl;return 0;
}

Java算法代码:

import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main
{public static void main(String[] args) {Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] arr = new int[n]; int b = 0;for(int i = 0; i < n; i++){arr[i] = in.nextInt(); b = Math.max(b, arr[i]); }boolean flag = true; for(int i = 0; i < n; i++) { if(b % arr[i] != 0) { flag = false; break;}int x = b / arr[i]; if((x - (x & -x)) != 0) { flag = false; break;}}if(flag) System.out.println("YES"); else System.out.println("NO"); }
}

装箱问题(动态规划-01背包)

题目解析

1.题目链接:登录—专业IT笔试面试备考平台_牛客网

2.题目描述

题目描述

有一个箱子容量为V(正整数,0 ≤ V ≤ 20000),同时有n个物品(0<n ≤ 30),每个物品有一个体积(正整数)。
要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

输入描述:

1个整数,表示箱子容量
1个整数,表示有n个物品
接下来n行,分别表示这n个物品的各自体积

输出描述:

1个整数,表示箱子剩余空间。

示例1

输入

24 6 8 3 12 7 9 7

24
6
8
3
12
7
9
7

输出

0

0

讲解算法原理

解法:
算法思路:

01背包简单应⽤。

编写代码

c++算法代码:

#include <iostream>
using namespace std;
const int N = 35, M = 2e4 + 10;
int n, v;
int arr[N];
int dp[N][M];
int main()
{cin >> v >> n;for(int i = 1; i <= n; i++){cin >> arr[i];}for(int i = 1; i <= n; i++){for(int j = 0; j <= v; j++){dp[i][j] = dp[i - 1][j]; if(j >= arr[i]){dp[i][j] = max(dp[i][j], dp[i - 1][j - arr[i]] + arr[i]);}}}cout << (v - dp[n][v]) << endl;return 0;
}

Java算法代码:

import java.util.*;
public class Main
{public static void main(String[] args){Scanner in = new Scanner(System.in); int v = in.nextInt(); int n = in.nextInt(); int[] arr = new int[n + 1];for(int i = 1; i <= n; i++){arr[i] = in.nextInt();}int[][] dp = new int[n + 1][v + 1]; for(int i = 1; i <= n; i++) { for(int j = 0; j <= v; j++) { dp[i][j] = dp[i - 1][j]; if(j >= arr[i]){dp[i][j] = Math.max(dp[i][j], dp[i - 1][j - arr[i]] + arr[i]); }}}System.out.println(v - dp[n][v]);}
}

http://www.hyszgw.com/news/581.html

相关文章:

  • 网站建设与开发的软件外贸建站与推广如何做
  • asp.net视频网站模板下载semir是什么品牌
  • 学网站建设好么谷歌浏览器下载官方正版
  • 怎么看网站是谁做的百度博客收录提交入口
  • 花箱 东莞网站建设网络营销10大平台
  • www技术支持 重庆网站建设湖人今日排名最新
  • 什么网站可以做棋谱seo软件推广哪个好
  • 乌鲁木齐网站建设seo友情链接可以随便找链接加吗
  • 响应式网站模版建站自己建网页
  • 响应式手机网站建设昆明网络推广优化
  • 深圳网址网站建设公司湖南seo技术培训
  • 网站页面怎么做的好看网站seo外包
  • 网站设计制作开发公司网络广告策划书
  • 招生网站制作淘宝关键词热度查询工具
  • 国外做多媒体展览的网站杭州百度推广开户
  • 武汉最好的网站建设前十移动慧生活app下载
  • 做58同城网站花了多少钱推广的十种方式
  • 建一个做笔记的网站搜索引擎推广的方法有哪些
  • 深圳市网站建设科技公司百度网盘app下载安装电脑版
  • 接单做公司网站站群搜索引擎优化的概念
  • 营销一型网站建设公司chrome 谷歌浏览器
  • 网站首页框架图网络营销有哪些功能
  • 网站广告杭州关键词优化平台
  • 网站域名供应商有哪些网站可以免费发布广告
  • 直播软件app开发制作优化网站排名如何
  • 做商务网站服务上海关键词推广公司
  • 地方新闻网站建设方案鸿科经纬教网店运营推广
  • 杭州家装口碑比较好的公司优化大师兑换码
  • 网站建设 博客整站优化价格
  • 网站建设仟首先金手指14网络营销的特点有哪些特点