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

网页制作教程 基础陕西seo

网页制作教程 基础,陕西seo,济宁做公司网站,男女做暖暖试看网站传送门&#xff1a;Problem - D - Codeforces 题目大意&#xff1a; 思路&#xff1a; 尽量要 最大值变小&#xff0c;最小值变大 即求 最大值的最小 和 最小值的最大 -> 二分答案 AC代码&#xff1a; 代码有注释 #include<bits/stdc.h> using namespace std; #…

传送门:Problem - D - Codeforces

题目大意:

思路:

尽量要 最大值变小,最小值变大

即求 最大值的最小 和 最小值的最大 -> 二分答案

AC代码:

代码有注释

#include<bits/stdc++.h>
using namespace std;
#define int long long
void solve()
{int n; cin >> n;vector<int> a(n + 1), b(n + 1);for (int i = 1; i <= n; i++) cin >> a[i];auto check1 = [&](int limit){// limit 此时就是 最大值的最小值// 经过操作后,若 b[i] <= limit 就是ok的,否则就放弃这个值// 最大值最小for (int i = 1; i <= n; i++) b[i] = a[i];for (int i = 1; i < n; i++){// b[i] 超过 limit ,就要减小 b[i]if (b[i] > limit){b[i + 1] += (b[i] - limit);b[i] = limit;}}for (int i = 1; i <= n; i++){if (b[i] > limit) return false;}return true;};int left = 0; int right = 1e12;while (right > left){int mid = left + right >> 1;if (check1(mid))right = mid;else left = mid + 1;}int ans = left;auto check2 = [&](int limit){// 最小值最大// limit 就是最小值的最大值for (int i = 1; i <= n; i++) b[i] = a[i];for (int i = 1; i < n; i++){if (b[i] > limit){b[i + 1] += (b[i] - limit);b[i] = limit;}}int mn = 2e18;for (int i = 1; i <= n; i++) mn = min(mn, b[i]);// 经过操作后,mn 仍大于 limit ,则可以继续增大limitif (mn >= limit)return true;else return false;};left = 0; right = 1e12;while (right > left){int mid = left + right + 1 >> 1;if (check2(mid))left = mid;else right = mid - 1;}cout << ans - left << endl;
}
signed main()
{int tt; cin >> tt;while (tt--)solve();return 0;
}

 

 加练二分:

传送门:Problem - D - Codeforces

题目大意:

 

 思路:

二分 顶点1要加上的值

AC代码:

#include<bits/stdc++.h>
using namespace std;
#define int long long
int n;
const int N = 2e5 + 10;
int h[N], e[N], ne[N], idx;
int a[N];
void add(int a, int b)
{e[idx] = b;ne[idx] = h[a];h[a] = idx++;
}
bool dfs(int u, int limit)
{if( limit > 1e9 ) return false; // 一定要加这个代码,否则就会爆 long long// 所有顶点的值都是 <= 1e9 的,所以 limit 肯定不能大于 1e9if (a[u] < limit){int temp = limit - a[u];limit += temp;}bool flag = false;for (int i = h[u]; i != -1; i = ne[i]){flag = true;int j = e[i];if (!dfs(j, limit)) return false;}if (!flag){if (a[u] >= limit) return true;else return false;}else return true;
}
bool check(int limit)
{for (int i = h[1]; i != -1; i = ne[i]){int j = e[i];if (!dfs(j, limit)) return false;}return true;
}
void solve()
{memset(h, -1, sizeof h); idx = 0;cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];}for (int i = 2; i <= n; i++){int fa; cin >> fa;add(fa, i);}int left = 0; int right = 1e9;while (right > left){int mid = left + right + 1 >> 1;if (check(mid)) left = mid;else right = mid - 1;}cout << a[1] + left << endl;
}
signed main()
{int tt; cin>> tt;while(tt--)solve();return 0;
}

http://www.mmbaike.com/news/62419.html

相关文章:

  • 网站建设服务哪家便宜独立站怎么建站
  • 网站开发 制作阶段的说课稿百度seo排名公司
  • 哈尔滨模板建站平台网络推广营销培训机构
  • 企业网站怎么做的更好长沙网络营销咨询费用
  • 网页设计html代码大全图片怎么制作seo搜索优化
  • 做土建资料有什么网站没百度2022最新版本
  • wordpress主题柚子皮百度seo教程
  • 做视频网站需要哪些条件石家庄网站建设seo公司
  • 门户网站做吗网站seo优化教程
  • 全国网站建设排名百度关键词挖掘查排名工具
  • 政府网站j建设调研报告培训网站制作
  • 中山专业网站建设价格什么平台可以免费打广告
  • 网站模板之家搜索词和关键词
  • 用enfold做的网站天津seo优化
  • 微网站搭建的步骤和技巧无锡网站推广公司
  • 提供网站建设服务的网站价格怎么在百度上做网站
  • 免费做自我介绍网站html网页制作用什么软件
  • 适合初学者做的网站seo诊断a5
  • 杭州做网站软件营销型网站建设价格
  • 湖州市建设中心网站315影视行业
  • 深圳企业公司网站建设平台第三方营销平台有哪些
  • 做室内装修的网站百度seo关键词优化公司
  • 建设公司营销网站网推
  • 重庆知名网站制作公司南宁百度网站推广
  • 做身份证网站搜索关键词网站
  • 包头正规旅游网站开发哪家好合肥网络推广优化公司
  • 专门做app的原型网站seo网站排名优化软件是什么
  • 网站建设优化推广杭州推销网站
  • wordpress 默认登陆关键词优化排名的步骤
  • 域名信息备案管理系统查询百度手机端排名如何优化