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

深圳南山建设局官方网站域名收录查询

深圳南山建设局官方网站,域名收录查询,成都智 小程序开发,别墅装修公司排名模板题目链接:P1115 最大子段和 - 洛谷 1.Kadane 算法: Kadane 算法是一种动态规划思想的算法,用于解决 最大子数组和 问题。该算法的时间复杂度为O(n)。 核心思想: 变量定义: f[i]:表示…

模板题目链接:P1115 最大子段和 - 洛谷

1.Kadane 算法:        

        Kadane 算法是一种动态规划思想的算法,用于解决 最大子数组和 问题。该算法的时间复杂度为O(n)。

核心思想:

变量定义:        

        f[i]:表示为以当前元素结尾的最大子数组和。

        ans:表示全局最大子数组和。

状态转移方程:

        f[i] = max(x, f[i - 1] + x):如果当前元素加上以第 i - 1 个元素结尾的最大子数组和的和小于当前元素就从当前元素可以构造新的最大子数组,否则将当前元素加到之前的子数组中。

代码:

void solve()
{int n;cin >> n;vector<ll> f(n + 10, 0);ll ans = MIN;for (int i = 1; i <= n; ++i){ll x;cin >> x;f[i] = max(x, f[i - 1] + x);ans = max(ans, f[i]);}cout << ans << endl;
}

2.贪心解法:

核心思想:

变量定义:

        cnt:当前局部最大子数组和。

        ans:全局最大子数组和。

解法:

        在每次向当前子数组添加元素前先判断当前 cnt 是否大于 0,如果小于0就将 cnt 清空(cnt为负数代表如果将当前元素添加到子数组也和拉低后面的和),每次添加完元素后就将更新一次ans

代码:

void solve()
{int n;cin >> n;ll ans = MIN, cnt = 0;for (int i = 0; i < n; ++i){int x;cin >> x;if (cnt < 0)cnt = 0;cnt += x;ans = max(ans, cnt);}cout << ans << endl;
}

例题:

D - Flip to Gather

题目背景:

        给定一个长度为 n 的字符串 s,由 '0' 和 '1' 组成,目标是让 '1' 最多出现在一个区间内(可以没有),输出最小操作次数。

思路:

        我们希望通过一次选区间,把“1集中”做到最大,同时翻转尽量少。将问题装换为 “最大收益区间问题” (最小代价区间),既设置初始操作次数为 s 中 '1' 的个数,然后将字符 '1' 的贡献设置为 -1(因为它原本就在区间内,我们已经将所有1的贡献都统计完了,将他所在的区间作为最终答案的话需要将他的贡献减去),将 '0' 的贡献设置为 1;使用一个cnt累加代价,ans记录最小值,每次cnt大于0了,说明选择这个区间就会亏本,我们就不选择这个区间了,将cnt归零。

        注:这个题目与模板的区别为 题目需要找到最小代价区间,所有我们要在累加完之后再判断cnt是否将其归零。

时间复杂度:

        O(n)。

ac代码:

#include <bits/stdc++.h>#define ioscc ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
#define endl '\n'
#define me(a, x) memset(a, x, sizeof a)
#define all(a) a.begin(), a.end()
#define sz(a) ((int)(a).size())
#define pb(a) push_back(a)
using namespace std;typedef unsigned long long ull;
typedef long long ll;
typedef pair<int, int> pii;
typedef vector<vector<int>> vvi;
typedef vector<int> vi;
typedef vector<bool> vb;const int dx[4] = {-1, 0, 1, 0};
const int dy[4] = {0, 1, 0, -1};
const int MAX = (1ll << 31) - 1;
const int MIN = 1 << 31;
const int MOD = 1e9 + 7;
const int N = 1e5 + 10;template <class T>
ostream &operator<<(ostream &os, const vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cout << a[i] << ' ';return os;
}template <class T>
istream &operator>>(istream &in, vector<T> &a) noexcept
{for (int i = 0; i < sz(a) - 10; i++)std::cin >> a[i];return in;
}/* 有乘就强转,前缀和开ll */void solve()
{int n;string s;cin >> n >> s;int sum = count(all(s), '1');ll ans = MAX, cnt = 0;for (int i = 0; i < n; ++i){if (s[i] == '1')--cnt;else++cnt;if (cnt > 0)cnt = 0;ans = min(ans, cnt);}cout << sum + ans << endl;
}int main()
{ioscc;int T;cin >> T;while (T--)solve();return 0;
}


文章转载自:

http://mnPXlok5.cLbsd.cn
http://EemUNMHc.cLbsd.cn
http://rvM6xLOf.cLbsd.cn
http://OiJ7xiDZ.cLbsd.cn
http://BlE5a3V2.cLbsd.cn
http://ToMWSfhI.cLbsd.cn
http://rHYmmtRU.cLbsd.cn
http://jdTn7nHf.cLbsd.cn
http://4qyhSldj.cLbsd.cn
http://DnaHRjxD.cLbsd.cn
http://ADvbsNf7.cLbsd.cn
http://4Dkz4JVU.cLbsd.cn
http://BRAuFjb0.cLbsd.cn
http://LUxbDB60.cLbsd.cn
http://pgDNG7HU.cLbsd.cn
http://MoOt8mq9.cLbsd.cn
http://k22wpVwN.cLbsd.cn
http://ZYuB0KQC.cLbsd.cn
http://ko0J5Oe1.cLbsd.cn
http://VHOmtJMZ.cLbsd.cn
http://Isspop8L.cLbsd.cn
http://XDkxNrXb.cLbsd.cn
http://tvWDpAKq.cLbsd.cn
http://ifPYPdga.cLbsd.cn
http://dHF2YNwW.cLbsd.cn
http://pqgvmAwP.cLbsd.cn
http://JqX1T3cV.cLbsd.cn
http://0JibWIZc.cLbsd.cn
http://WZATIjuv.cLbsd.cn
http://e2hnXH3B.cLbsd.cn
http://www.dtcms.com/wzjs/777624.html

相关文章:

  • 合肥网站建设网站推广津学院如何查看网站是否备案
  • 有那些网站可以做担保交易的黑糖不苦还做网站么
  • 网站推广公司成功的经典案例哈尔滨建设工程有限公司
  • 好的设计教程网站临沂网站建设费用
  • wdcp 配置网站微信手机网站制作
  • 免费刷赞网站推广免费拨打12355可以找团员密码吗
  • 苏州网站营销公司做cpa怎么建立自己网站
  • 海阳网站建设网站充值系统怎么做
  • 网站的企业风采怎么做怎么做网页签到
  • 东莞免费做网站营销型网站建设sempk
  • 极简 单页面网站模板建设一个视频网站
  • 哪个网站可以免费学编程网页设计网站制作公司
  • 教师进修学校网站建设方案重庆全网推广
  • 网络和网站的区别深夜一个人适合看的电影
  • 用云主机做网站wordpress图片本地化工具
  • 定州住房和城乡建设局网站个人空间备案网站名称
  • 平顶山城市住房城乡建筑网站营销软文模板
  • 嘉兴网站优化联系方式网站建设的要求有哪些方面
  • 网站开发好做吗资阳优化团队资讯
  • 商城网站营销系统源码菜鸟零基础如何自学编程
  • 电白网站建设公司wordpress发布公告
  • 昆明网站制作内容wordpress会员等级插件
  • 桂林北站到阳朔网页制作app
  • 网站下拉单设计欣赏众筹网站建设 网站定制开发
  • 高质量网站外链建设大揭秘配件查询网站制作
  • 网站后期维护需要注意什么网站查询地址
  • 进入建设银行的网站就打不了字深圳比较好的设计网站公司吗
  • 找做金融的网站有哪些方面旅游网站制作方案
  • 广州网站建设哪里买永济市网站建设
  • 做网上竞彩网站合法吗秦皇岛网站关键词