当前位置: 首页 > 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://wiki.neutronadmin.com/news/200435/

相关文章:

  • 合肥网站建设过程网站建设公司 中企动力公司
  • 专业手机网站设计网站建设费如何核算
  • 汉狮做网站公司郑州惊艳的网站设计
  • 网站底部样式津南做网站的公司
  • 公司品牌flash网站设计推广app
  • 专门做地方特产的网站如何对网站页面进行优化
  • 字体图标网站泰安网络科技公司
  • 国外做外汇网站交流阿里云服务器wordpress配置
  • 营销型网站建设题库nginx wordpress 二级目录
  • 网站建设与维护经营范围华久做网站
  • 应该如何做营销型网站制作一款app需要多少钱
  • 免费建站系统wordpress现在清算组备案在哪个网站做
  • 建设网站的实验目的网络营销就是网站营销
  • 网站制作开发技术深圳外贸公司获客
  • 网站设计制作太原河南如何做网站
  • 陕西省建设部网站国际军事新闻联播
  • 网站开发问卷调查荆门市网站建设
  • 第一百四十七章 做视频网站做警员编号网站
  • 网站解析后怎么做做网站注意事项
  • 甘肃省建设工程安全质量监督管理局网站桂林官网
  • 如何规划企业网站wordpress 添加搜索
  • 益阳网站建设益阳图片点开是网站怎么做
  • 南高齿网站是谁做的南京江宁做网站
  • 七台河北京网站建设深圳网页制作案例
  • 企业内网网站wordpress 后台 留言
  • 怎么从网站知道谁做的建设企业网站作用
  • 免费网站app使用排名简网站开发平台
  • 一学一做教育视频网站有哪些内容wordpress文章文件
  • 怎么做网站 高中信息技术制作网站一般多少钱
  • 做营销型网站的教程徐州制作手机网站