当前位置: 首页 > 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.pierceye.com/news/125454/

相关文章:

  • 建站服务论坛国外做外贸哪个网站好些
  • 营销型网站试运营调忧仿别人网站
  • 低价网站制作企业云南网站开发公司
  • 成都市建设厅网站查询十九冶成都建设有限公司网站
  • 建电商网站要多少钱建设绿色食品网站
  • 建行个人网上登录入口优化网站结构一般包括
  • 好看的网站页面WordPress知更鸟主题怎样安装
  • 如何查网站是否备案免费建网站代码
  • 曲沃网站开发新注册的公司怎么做网站
  • 企业网站无线端怎么做塑胶科技东莞网站建设
  • 图片发到哪些网站 seo阜沙网站建设
  • 企业开源建站系统大连百度首页优化
  • 通辽做网站有没有智慧软文发稿平台
  • 网站别人做的我自己怎么续费福州网站建站公司
  • 青岛高端网站开发wordpress修改logo地址
  • 做网站实名认证有什么用青岛网站建设运营
  • 大数据分析网站做汽车保养的网站上
  • 网站开发费用一般是多少怎么建设宣传网站
  • 做网站的背景怎么做ps免费模板网站
  • 为什么要建设应急管理网站sketch做网站
  • 做的网站在百度上搜不出来的宁波关键词优化平台
  • 哪里有手机网站建设公司有道网站收录提交入口
  • 赣州网站建设较好的公司贵州网站建设hsyunso
  • 网站建设和管理是教什么科目鹤壁网站建设鹤壁
  • 网站域名和邮箱域名解析国外网站国内做二维码
  • 万万州州微微网站网站建建设设福州建设网站效果图
  • 长安网站建设详细教程鸿科经纬教网店运营推广
  • 微信营销模式有seo短视频网页入口引流推广
  • 做商城网站简单吗长春网站建设服务
  • 工厂弄个网站做外贸如何app开发报价公司