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

官方网站数据如何做脚注哈尔滨网站建立公司

官方网站数据如何做脚注,哈尔滨网站建立公司,大一网页设计电商网站作业,温州建设诚信网站正题 loj 3264 题目大意 有一个环#xff0c;环上n个点#xff0c;权值为a#xff0c;有m次修改#xff0c;每次修改一个aia_iai​#xff0c;然后让你选取一些数#xff0c;使环上不存在连续四个以上的数被选取#xff0c;让你求所选数的最大权值和 解题思路 不难想…正题 loj 3264 题目大意 有一个环环上n个点权值为a有m次修改每次修改一个aia_iai​然后让你选取一些数使环上不存在连续四个以上的数被选取让你求所选数的最大权值和 解题思路 不难想到可以用DP做一次DP时间为O(n)m次修改就是O(mn)会TLE 可以先把环剖开那么可以考虑用线段树维护答案 设fi,jf_{i,j}fi,j​为当前区间经过左端点选了i个数经过右端点选了j个数 那么区间合并可以枚举两个区间的四个端点然后使中间的点相加不大于4整段选上的特别处理一下 这样合并是O(4^4)的观察下图不难发现倒着枚举第一个区间右端点选的数第二个区间中可以匹配的数是一个前缀和那么可以省掉一维 最后提取出最大的区间然后在左右端点相加不大于4的点中取最大值即可 代码 #includecstdio #includecstring #includeiostream #includealgorithm #define ll long long #define N 40010 using namespace std; int n, m, x; ll y, w[N]; struct node {int num;ll f[4][4]; }; node merge(node a, node b)//合并线段树 {node c;ll sum;memset(c.f, 0, sizeof(c.f));c.num a.num b.num;for (int i 0; i min(3, a.num); i)for (int j 0; j min(3, b.num); j){if (i a.num j b.num)//两端都全选{if (i j 3) c.f[i j][i j] a.f[i][i] b.f[j][j];continue;}if (i a.num)//第一段全选{for (int k 0; k min(3 - i, b.num); k)c.f[i k][j] max(c.f[i k][j], a.f[i][i] b.f[k][j]);continue;}if (j b.num)//第二段全选{for (int k 0; k min(3 - j, a.num); k)c.f[i][j k] max(c.f[i][j k], a.f[i][k] b.f[j][j]);continue;}sum 0;for (int k 3; k 0; --k){sum max(sum, b.f[3 - k][j]);//前缀和c.f[i][j] max(c.f[i][j], sum a.f[i][k]);}}return c; } ll get(node x) {ll ans 0;for (int i 0; i 3; i)for (int j 0; j 3 - i; j)//左右端点之和不大于3ans max(ans, x.f[i][j]);return ans; } struct Tree {#define ls x*2#define rs x*21node v[N2];void build(int x, int l, int r){if (l r){v[x].num 1;v[x].f[1][1] w[l];return;}int mid l r 1;build(ls, l, mid);build(rs, mid 1, r);v[x] merge(v[ls], v[rs]);return;}void change(int x, int l, int r, int y){if (l r){v[x].f[1][1] w[l];return;}int mid l r 1;if (y mid) change(ls, l, mid, y);else change(rs, mid 1, r, y);v[x] merge(v[ls], v[rs]);return;} }T; int main() {scanf(%d, n);for (int i 1; i n; i)scanf(%lld, w[i]);T.build(1, 1, n);printf(%lld\n, get(T.v[1]));scanf(%d, m);while(m--){scanf(%d%lld, x, y);w[x] y;T.change(1, 1, n, x);printf(%lld\n, get(T.v[1]));}return 0; }
http://www.yutouwan.com/news/200435/

相关文章:

  • 用哪个平台做网站好湖北省建设厅建筑资料官方网站
  • 成都学校网站建开发者头条
  • 如何用wordpress快速建站餐厅类网站模板
  • 做网站美工网站开发外包公司有哪些部门
  • 文化传媒建设网站海报制作软件免费版
  • 网站建设毕业读书笔记phpcms 恢复网站
  • 个人成立公司怎么做企业网站海淀企业网站建设
  • 可以做任务的网站wordpress queryposts
  • 优斗士网站建设怎么注册一个网站做色流
  • 福建省建设工程监理协会网站虚拟空间可以做视频网站么
  • 云服务器可以做网站吗免费正规大数据查询平台
  • iis添加asp网站创新的响应式网站建设
  • 吉安做网站的随州有哪些网站建设的公司
  • 028网站建设工作室电商网站建设那家好
  • 做购物网站需要学哪些个人求职简历模板免费下载
  • 建设网站方式有哪些松江车墩网站建设
  • 网站推广找哪家公司好做图书馆网站的语言
  • 做淘宝客导购网站推广12个优秀的平面设计素材网站
  • 免费建站源码小商铺装修
  • 建设手机网站赚钱吗wordpress修改评论文本
  • 响应试网站和移动端怎么给网站做百度优化
  • 盐城网站建设0515icp成都网站建设小公司
  • 网站开发的毕业设计题目wordpress windows live writer
  • 专业做网站的团队推荐北京朝阳区房价2021最新价格
  • 北京金方网站设计wordpress 设置主页
  • 厦门外贸网站搭建jupiter wordpress 汉化
  • 苏州网站建设问问q778925409强涵房地产建设网站的意义
  • 邯郸网站设计建设wordpress主题 推荐
  • 拖拽式网站开发网站模板好
  • 成都哪家做网站淘宝店铺头像logo制作