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

台海最新消息24小时更新广州网站运营专注乐云seo

台海最新消息24小时更新,广州网站运营专注乐云seo,jsp ajax网站开发典型实例pdf,全国企业信用公示查询服务平台题干#xff1a; 有一棵n个节点的二叉树#xff0c;1为根节点#xff0c;每个节点有一个值wi。现在要选出尽量多的点。 对于任意一棵子树#xff0c;都要满足#xff1a; 如果选了根节点的话#xff0c;在这棵子树内选的其他的点都要比根节点的值大#xff1b; 如…题干   有一棵n个节点的二叉树1为根节点每个节点有一个值wi。现在要选出尽量多的点。 对于任意一棵子树都要满足 如果选了根节点的话在这棵子树内选的其他的点都要比根节点的值大 如果在左子树选了一个点在右子树中选的其他点要比它小。 输入描述: 第一行一个整数n。 第二行n个整数wi表示每个点的权值。 接下来n行每行两个整数a,b。第i2行表示第i个节点的左右儿子节点。没有为0。 n,a,b≤105,−2×109≤wi≤2×109n,a,b≤105,−2×109≤wi≤2×109 输出描述: 一行一个整数表示答案。 示例1 输入 复制 5 1 5 4 2 3 3 2 4 5 0 0 0 0 0 0 输出 复制 3 解题报告 注意依据题意需要先遍历右子树再遍历左子树。或者存权值直接存负值然后先遍历左子树再遍历右子树(即正常dfs序)也可以。 AC代码 #includecstdio #includeiostream #includealgorithm #includequeue #includectime #includemap #includevector #includeset #includestring #includecmath #includecstring #define ll long long #define pb push_back #define pm make_pair #define fi first #define se second using namespace std; const int MAX 2e5 5; int dfn[MAX],in[MAX],out[MAX]; int id,n; int a[MAX],b[MAX]; int ans[MAX]; int w[MAX]; void dfs(int cur,int root) {dfn[id] cur;in[cur] id;if(b[cur] ! 0)dfs(b[cur],cur);if(a[cur] ! 0)dfs(a[cur],cur);out[cur] id; } int DP() {int len 0;for(int i 1; iid; i) dfn[i] w[dfn[i]];ans[len] dfn[1];for(int i 2; iid; i) {if(dfn[i] ans[len]) ans[len] dfn[i];else {int pos lower_bound(ans1,anslen1,dfn[i]) - ans;ans[pos] dfn[i];}}return len; } int main() {cinn;for(int i 1; in; i) scanf(%d,wi);for(int i 1; in; i) scanf(%d%d,ai,bi);dfs(1,0);printf(%d\n,DP());return 0 ; } AC代码2 #includebits/stdc.h using namespace std; const int maxn 1e5 10; int p[maxn], q[maxn], t[maxn]; int lson[maxn], rson[maxn], cnt, len; void dfs(int rt) {if (!rt)return;dfs(lson[rt]);dfs(rson[rt]);q[cnt] p[rt]*(-1); } int main() {int n;cin n;for (int i 1; i n; i)cin p[i];for (int i 1; i n; i) {int x, y;cin x y;lson[i] x, rson[i] y;}dfs(1);t[1] q[1];for (int i 2; i n; i) {int cur lower_bound(t 1, t 1 len,q[i]) - t;t[cur] q[i];len max(len, cur);}cout len endl; } 还有一种解法Orz大佬 这个dfs序(因为是后序遍历)完了之后是对离散化后的权值求最长下降子序列也就是值是1~n求最长下降子序列 #includebits/stdc.h using namespace std; const int N100010; int W[N],A[N],h,B[N],lson[N],rson[N]; void dfs(int x){if (x0){return;}dfs(lson[x]);dfs(rson[x]);A[h]W[x]; } struct Binary_Indexed_Tree{int n,bit[N];void Add(int i,int x){while (i0){bit[i]max(bit[i],x);i-i-i;}}int Query(int i){int res0;while (in){resmax(res,bit[i]);ii-i;}return res;} }BIT; int main(){int n,i;scanf(%d,n);for (i1;in;i){scanf(%d,W[i]);B[i]W[i];}sort(B1,B1n);int tunique(B1,B1n)-B-1;for (i1;in;i){W[i]lower_bound(B1,B1t,W[i])-B;}for (i1;in;i){scanf(%d%d,lson[i],rson[i]);}dfs(1);BIT.nt;int Ans1;for (i1;in;i){int pBIT.Query(A[i]1);BIT.Add(A[i],p1);Ansmax(Ans,p1);}printf(%d\n,Ans);return 0; }
http://www.huolong8.cn/news/251647/

相关文章:

  • 空间域名主机网站模板合肥网站建设优化
  • 黑龙江网站建设企业windows优化大师使用方法
  • 网站建设分金手指排名八广东上海专业网站建设公司
  • 做视频大赛推广的网站关键词都有哪些
  • 哪个建站平台较好做网站要付哪些钱
  • 直播网站建设方案网站开发语言有什么
  • 安康市城乡建设规划局 网站河南郑州网站推广优化外包
  • 免费网站开发软件有哪些基于php mysql的网站开发
  • 上杭县城乡规划建设局网站WordPress点击出现爱心
  • 完整网站开发视频教程望野诗
  • 网站自动屏蔽恶意点击在凡科上做的网站无法加载出来
  • 莆田网站建设费用家具营销策划方案
  • 电子商务网站建设定位设想自己做下载网站吗
  • 乐安网站建设外贸订单网站有哪些
  • 广东网站开发需要多少钱信息流投放平台
  • 秦皇岛做网站汉狮网络可以做ppt的网站有哪些
  • 博星卓越 网站开发方案有哪些网站可以做海报
  • 网站没完成可以备案么wordpress商城模板好用吗
  • 网站建设要备案吗班级网站设计与制作
  • 电子商务网站的建设内容app手机软件开发
  • 做网站建设的网站重启服务器 wordpress
  • 好文案网站太原百度搜索排名优化
  • 成都顶呱呱网站建设cpa推广之家
  • 豪柏大厦做网站的公司上海十大公司排名
  • 进口网站建设网站改版 总结
  • 怎么建医疗网站北京市环境建设办公室网站
  • 什么样的网站高大上中国做网站公司
  • 上海企业在线登记镇江做网站seo
  • 辽宁移动惠生活app官方版搜索引擎优化seo方案
  • 企业网站一般多少钱初识网站开发流程图