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

政府网站如何建设管理/seo公司赚钱吗

政府网站如何建设管理,seo公司赚钱吗,网站建设与维护日常工作,个人网站我的大学我做主页面Problem codeforces.com/contest/779/problem/C 题意 有 n 个物品&#xff0c;每件今天 a 元&#xff0c;一周后 b 元。要全部都买&#xff0c;且今天至少买 k 个。问最小的花费。 Analysis 贪心。优先买 a < b 的物品。如果必须买 a > b 的物品&#xff0c;那么优…

Problem

codeforces.com/contest/779/problem/C

题意

有 n 个物品,每件今天 a 元,一周后 b 元。要全部都买,且今天至少买 k 个。问最小的花费。

Analysis

贪心。优先买 a <= b 的物品。如果必须买 a > b 的物品,那么优先选 a - b 比较小的那些(亏得少)。剩下的,几时便宜几时买。

起初想的是DP:dp[i][j][0/1]:前 i 件物品,今天买 j 件的最小花费(第三维 0 和 1 分别表示第 i 件今天不买(一周后买)、今天买)

状态转移:dp[i][j][0] = b[i] + min { dp[i-1][j][0] , dp[i-1][j][1] }

dp[i][j][1] = a[i] + min { dp[i-1][j-1][0] , dp[i-1][j-1][1] }

对每一个 i,初始化:dp[i][0][0] = Zigma { b[j] | 1<=j<=i },dp[i][0][1] = INF(表示不可能)

最后答案是 min { dp[n][k~n][0~1] }。

实现时第一维用滚动数组。

然后超时了,因为复杂度是 O(n^2),n = 2e5

不过这种写法不知道会不会对其它题有启发,备份一下。

Source code

Greedy

#include <iostream>
#include <algorithm>
using namespace std;
const int N = 200000;struct node
{int a, b;
} item[N];inline bool cmp(const node &a, const node &b)
{return a.b-a.a > b.b-b.a;
}int main()
{ios::sync_with_stdio(false);int n, k;cin >> n >> k;for(int i=0; i<n; ++i)cin >> item[i].a;for(int j=0; j<n; ++j)cin >> item[j].b;sort(item, item+n, cmp);int ans = 0;for(int i=0; i<k; ++i)ans += item[i].a;for(int i=k; i<n; ++i)ans += min(item[i].a, item[i].b);cout << ans << endl;return 0;
}

DP

#include <cstdio>
#include <algorithm>
using namespace std;
const int N = 200000, BIG = 0x7f7f7f7f;int a[N+1], b[N+1], dp[2][N+1][2];int main()
{int n, k;scanf("%d%d", &n, &k);for(int i=1; i<=n; ++i)scanf("%d", a+i);for(int j=1; j<=n; ++j)scanf("%d", b+j);for(int i=0; i<2; ++i)for(int j=1; j<=n; ++j)dp[i][j][0] = dp[i][j][1] = BIG;dp[0][0][0] = 0;dp[0][0][1] = BIG;for(int i=1, cnt=0; i<=n; ++i){dp[i&1][0][0] = cnt += b[i];dp[i&1][0][1] = BIG;for(int j=1; j<=i; ++j){if(dp[i&1^1][j-1][0]!=BIG || dp[i&1^1][j-1][1]!=BIG)dp[i&1][j][1] = a[i] + min(dp[i&1^1][j-1][0],dp[i&1^1][j-1][1]);if(dp[i&1^1][j][0]!=BIG || dp[i&1^1][j][1]!=BIG)dp[i&1][j][0] = b[i] + min(dp[i&1^1][j][0],dp[i&1^1][j][1]);}}int ans = BIG;for(int i=k; i<=n; ++i)ans = min(ans, min(dp[n&1][i][0], dp[n&1][i][1]));printf("%d\n", ans);return 0;
}

http://www.lbrq.cn/news/1053199.html

相关文章:

  • 石家庄便宜做网站/注册查询网站
  • wordpress适合做什么网站/广告公司广告牌制作
  • 北京品牌网站建设/网站制作详细流程
  • 做网上推广网站/互联网营销师题库
  • 地方网站推广/软文怎么写
  • 局网站建设情况/关键词怎么找出来
  • 包头市住房和城乡建设局官方网站/抖音关键词推广
  • 南京网站建设方案/怎么在百度上投放广告
  • 宝鸡哪有有做网站的/爱站网官网
  • 营销型网站建设案例/域名注册需要多久
  • wordpress 特色图片插件/手机网站搜索优化
  • 网站建设费用首选网络/广州信息流推广公司排名
  • 做b2b网站赚钱/google搜索关键词热度
  • 响应式网站自助建设平台/无锡今日头条新闻
  • 金融网站建设方案ppt/沈阳seo搜索引擎
  • wordpress 文章付费查看/网站seo分析
  • 快手点赞购买网站/网站流量分析的指标有哪些
  • 做美食网站的图片/app代理推广合作50元
  • 金融网站建设方案ppt模板/steam交易链接怎么看
  • 经典网站模板下载/国内做seo最好的公司
  • 电子商务网站建设与维护试卷/产品推广方案模板
  • 太原网站建设设计/宁波免费seo在线优化
  • 承德网站建设设计/最近一两天的新闻有哪些
  • 用Axure做的网站原型百度云/今日国内最新新闻
  • 做ppt哪些网站的图片质量高/购买模板建站
  • 网站建设的基础/西安网约车
  • 如何申请个人网站/seo研究协会网app
  • 网站建设标题/百度网盘网页版登录入口官网
  • 怎么建设和聚享游一样的网站呢/网站seo站外优化
  • 河南省住建局官方网站/seo型网站
  • Web自动化技术选择
  • 2025年TOP5服装类跟单软件推荐榜单
  • 时序分解 | MATLAB实现SAO-VMD雪消融算法优化变分模态分解
  • 跨境电商系统开发:ZKmall开源商城的技术选型与代码规范实践
  • C++中的继承:从基础到复杂
  • 降低程序运行时CPU和GPU峰值占用的技术方案