ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

打卡信奥刷题(3533)用C++实现信奥题 P10990 [蓝桥杯 2023 国 Python A] 彩色二叉树

打卡信奥刷题(3533)用C++实现信奥题 P10990 [蓝桥杯 2023 国 Python A] 彩色二叉树 P10990 [蓝桥杯 2023 国 Python A] 彩色二叉树题目背景建议使用 PyPy3 提交本题。题目描述给定包含nnn个结点的完全二叉树如下图是一棵包含n6n 6n6个结点的完全二叉树。树上的所有节点开始时没有被染色颜色为000。给定qqq次操作操作可以是xi yi zix_i\ y_i\ z_ixi​yi​zi​表示将与结点xix_ixi​距离小于等于yiy_iyi​的结点的颜色全部染成ziz_izi​xix_ixi​表示查询结点xix_ixi​的颜色。输入格式输入的第一行包含两个整数n,qn, qn,q用一个空格分隔。接下来qqq行每行包含111个操作相邻的整数之间使用一个空格分隔。保证每个操作都是合法的。输出格式对于每个查询操作输出一行包含一个整数表示对应的答案。输入输出样例 #1输入 #16 6 1 1 1 1 2 3 1 5 2 2 2 4 2 1 2 3输出 #11 2 2 1说明/提示对于40%40\%40%的评测用例n,q≤5000n, q \le 5000n,q≤5000对于所有评测用例1≤n≤106,1≤q≤2×105,1≤xi≤n,1≤yi≤106,1≤zi≤1061 \le n \le 10^6,1\le q \le 2 \times 10^5,1 \le x_i \le n,1 \le y_i \le 10^6,1 \le z_i\le 10^61≤n≤106,1≤q≤2×105,1≤xi​≤n,1≤yi​≤106,1≤zi​≤106。C实现#includebits/stdc.husingnamespacestd;intz[1000005];intc[1000005][55];voidsign(intx,intd,intnu){c[x][d]nu;if(x1||d0)return;sign(x/2,d-1,nu);}intfind(intx,intstep){if(x0)return0;intmaxn0;for(intistep;i54;i){maxnmax(maxn,c[x][i]);}returnmax(maxn,find(x/2,step1));}intmain(){intn,q;cinnq;for(inti1;iq;i){intop;cinop;if(op1){intx,y;cinxyz[i];if(y54)y54;sign(x,y,i);}else{intx;cinx;coutz[find(x,0)]\n;}}return0;}后续接下来我会不断用C来实现信奥比赛中的算法题、GESP考级编程题实现、白名单赛事考题实现记录日常的编程生活、比赛心得感兴趣的请关注我后续将继续分享相关内容
返回列表