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

网站建设方案博客用h5做网站首页代码

网站建设方案博客,用h5做网站首页代码,源码建站之网站建设,建站用企业级主机好还是服务器正题 https://www.luogu.com.cn/problem/CF1481F 题目大意 给出nnn个点的一棵树#xff0c;在每个节点上填a/ba/ba/b#xff0c;要求恰好有mmm个aaa。要求每个节点到根路径上的字符串种类最少#xff0c;输出方案。 1≤m≤n≤1051\leq m\leq n\leq 10^51≤m≤n≤105 解题思…正题 https://www.luogu.com.cn/problem/CF1481F 题目大意 给出nnn个点的一棵树在每个节点上填a/ba/ba/b要求恰好有mmm个aaa。要求每个节点到根路径上的字符串种类最少输出方案。 1≤m≤n≤1051\leq m\leq n\leq 10^51≤m≤n≤105 解题思路 被stoorz拉来做这题被D了/kk 很顺理成章的一个思路是我们可以在同一深度的点填上相同的字母如果能够做到答案到达下界就是最大深度。 但是显然不是所有时候都能到达下界再考虑一个能确定上界的构造方法。我们从上往下填当我们到达一层设有xxx个非叶子节点还剩下m0m_0m0​个aaa和m1m_1m1​个bbb那么显然有m0m1≥2xm_0m_1\geq 2xm0​m1​≥2x也就是有max{m0,m1}≥xmax\{m_0,m_1\}\geq xmax{m0​,m1​}≥x所以这一层的非叶子节点一定能填相同的字母然后叶子节点我们优先按照非叶子节点的字母填。如果够那么这一层的贡献是111如果不够这一层会产生一个不同的贡献为222但是此时有一种字母已经用完所以剩下的层的贡献一定都是111。 这样就发现答案的上界就是最大深度1问题就变为了如何判断答案是否是kkk了。 暴力完全背包显然不可行考虑从和为nnn入手相似与根号分治的思路我们可以考虑根号的复杂度。对于所有层来说节点数不同的值只有根号级别种所以我们可以把这些合并出来变成一个多重背包问题然后用单调队列的O(nm)O(nm)O(nm)做法即可但是由于这题是判断是否能够拼出来所以不需要单调队列甚至不需要枚举余数。 时间复杂度O(nn)O(n\sqrt n)O(nn​) code #includecstdio #includecstring #includealgorithm #includevector using namespace std; const int N1e510; struct node{int to,next; }a[N]; int n,m,k,p,tot,r[N],ls[N],f[500][N]; bool ans[N];vectorintv[N],c[N]; void addl(int x,int y){a[tot].toy;a[tot].nextls[x];ls[x]tot;return; } void dfs(int x,int dep){kmax(k,dep);v[dep].push_back(x);for(int ils[x];i;ia[i].next){int ya[i].to;dfs(a[i].to,dep1);}return; } void solve0(){for(int i1;in;i)ans[i]1;while(pm){int l(m-f[p][m])/r[p];for(int i0;il;i)for(int j0;jv[c[r[p]][i]].size();j)ans[v[c[r[p]][i]][j]]0;mf[p][m];p--;}printf(%d\n,k);for(int i1;in;i)putchar(ans[i]a);return; } void solve1(){int u[2]{m,n-m};for(int d1;dk;d){int tmp0,uc0;for(int i0;iv[d].size();i)tmp(ls[v[d][i]]!0);if(tmpu[0])u[0]-tmp;else{uc1;u[1]-tmp;for(int i0;iv[d].size();i)if(ls[v[d][i]]!0)ans[v[d][i]]1;}for(int i0;iv[d].size();i){if(ls[v[d][i]]!0)continue;if(!u[uc])uc^1;u[uc]--;ans[v[d][i]]uc;}}printf(%d\n,k1);for(int i1;in;i)putchar(ans[i]a);return; } int main() {scanf(%d%d,n,m);for(int i2,x;in;i)scanf(%d,x),addl(x,i);dfs(1,1);for(int i1;ik;i)c[v[i].size()].push_back(i);for(int i1;im;i)f[0][i]-1;for(int i1;in;i){if(!c[i].size())continue;r[p]i;for(int j1;jm;j)f[p][j]-1;for(int j1;jm;j){if(f[p-1][j]!-1)f[p][j]j;else if(jif[p][j-i]!-1j-f[p][j-i]i*c[i].size())f[p][j]f[p][j-i];}}if(f[p][m]!-1)solve0();else solve1();return 0; }
http://www.zqtcl.cn/news/125454/

相关文章:

  • 宿迁怎样建设网站wordpress 分类目录 标签
  • 惠州双语网站建设费用seo搜索工具栏
  • 做ppt会去什么网站找图网页制作与网站建设试题
  • 如何用ai给网站做logo宝安网站制作公司
  • sem是什么职业岗位单页式网站 seo
  • 做网站用什么版本系统国外有哪些设计网站推荐
  • dz论坛怎么做视频网站吗哪些公司是wordpress
  • 在微信怎样搞做微视频网站商城小程序模板源码完整版
  • h5跟传统网站有啥区别读取wordpress最新文章
  • 网站推广120最超值的网站建设
  • 移动网站制作公司如何开公司做网站
  • 网站建设 青海试题wordpress的特点
  • 源码如何做网站宽甸县建设局网站
  • 用dw做的网页怎么连到网站上企业网站备案资料填写单
  • 中文 网站模板企业怎么建设网站
  • 建设户外腰包网站哪个网站注册域名好
  • 六安网站建设价格小学生编程网课前十名
  • 绵阳网站建设信赖辉煌wordpress多账号权限
  • 网站外链快速建设网站维护要学多久
  • 做网站都是用ps吗郑州网站设计培训
  • wordpress 多站点教程厦门做网站维护的公司
  • 婚纱网站建设需求分析wordpress js图片
  • seo网站怎么优化有哪些企业网站平台
  • 响应式中文网站欣赏wordpress 带分页的主题
  • 什么样的网站可以做站内站房地产的设计网站建设
  • 成都住房和城乡建设局 网站首页深圳西乡建网站
  • 商城类的网站一般怎么做开发app软件的步骤
  • 招聘网站做销售怎么样做网站后台学什么专业
  • 帮别人做彩票网站餐饮网站建设需求分析
  • 企业服务平台工程建设云深圳网站建设专业乐云seo