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

网站建设前期需要做出的准备手举牌战队图片在线制作

网站建设前期需要做出的准备,手举牌战队图片在线制作,如何用wampp 做网站,网站哪家做得好div2 361 D. Tree Requests 题意 对于一颗 n n n节点的树,每个节点有一个字母,有 m m m次询问,每次询问求对于顶点 v v v的子树中深度为 h h h的结点能否组成一个回文串$ (1 \leq n \leq m \leq 5 \cdot 10^5) $ 思路 关于 v v v的子树结…

div2 361 D. Tree Requests

题意

对于一颗 n n n节点的树,每个节点有一个字母,有 m m m次询问,每次询问求对于顶点 v v v的子树中深度为 h h h的结点能否组成一个回文串$ (1 \leq n \leq m \leq 5 \cdot 10^5) $

思路

  • 关于 v v v的子树结点,可以通过 d f s dfs dfs序确定,那么对于特定 h h h深度的子树节点,我们可以按深度将结点的入栈时间存起来之后用 d f s dfs dfs序求出
  • 关于能否组成回文串,只需要这些节点中出现奇数次的字母不大于1即可,所以我们对所有深度的节点维护一个前缀异或和,每次查询满足要求的子树结点(一定是连续的)的字母出现奇数次的个数即可,需要注意的是求前缀异或和时先加入了0,为了使下标对应将所有深度数组也先加入0
  • 对于 v v v节点的子树,其子树节点 x x x满足 $ in[v] \leq in[x] < out[v] $

代码

#include<bits/stdc++.h>#define ull unsigned long long 
#define ll long long
#define inf 1e9
#define INF 1e18
#define lc p<<1
#define rc p<<1|1
#define endl '\n'
#define all(a) a.begin()+1,a.end()
#define all0(a) a.begin(),a.end()
#define lowbit(a) (a&-a)
#define fi first
#define se second
#define pb push_back
#define yes cout<<"Yes"<<endl
#define no cout<<"No"<<endlusing namespace std;
const double eps=1e-6;
typedef pair<int,int>PII;
typedef array<int,3>PIII;
mt19937_64 rnd(time(0));  const int N=5e5+10;
vector<int>e[N];
vector<int>mark[N];
vector<int>dep[N];void solve()
{int n,m;cin>>n>>m;for(int i=2;i<=n;i++){int x;cin>>x;e[x].pb(i);}string s;cin>>s;s=" "+s;int dfn=1;vector<int>in(n+1),out(n+1);for(int i=1;i<=n;i++){mark[i].pb(0);dep[i].pb(0);}auto dfs=[&](auto && dfs,int u,int deep)->void{in[u]=dfn++;mark[deep].pb(mark[deep].back()^(1<<(s[u]-'a')));dep[deep].pb(in[u]);for(auto ed:e[u]){dfs(dfs,ed,deep+1);}out[u]=dfn-1;};dfs(dfs,1,1);auto count=[&](int x){int cnt=0;while(x){cnt++;x-=lowbit(x);}return cnt;};while(m--){int v,h;cin>>v>>h;int l=lower_bound(all0(dep[h]),in[v])-dep[h].begin();int r=upper_bound(all0(dep[h]),out[v])-dep[h].begin();int cnt1=count(mark[h][r-1]^mark[h][l-1]);if(cnt1>1) no;else yes;}}int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);solve();return 0;
}

div3 617 E1. String Coloring (easy version)

题意

给定一个字符串,你可以对每个字符进行染色 ( 0 , 1 ) (0,1) (0,1),染色完毕之后可以交换次相邻且颜色不同的字符,求是否存在一种染色方案使得字符串可以变为升序非降序排列

思路

显然若存在逆序对 ( i , j ) (i,j) (i,j) i i i j j j一定是两种不同的颜色,我们对所有的逆序对进行连边之后跑二分图染色即可

代码

#include<bits/stdc++.h>#define ull unsigned long long 
#define ll long long
#define inf 1e9
#define INF 1e18
#define lc p<<1
#define rc p<<1|1
#define endl '\n'
#define all(a) a.begin()+1,a.end()
#define all0(a) a.begin(),a.end()
#define lowbit(a) (a&-a)
#define fi first
#define se second
#define pb push_back
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endlusing namespace std;
const double eps=1e-6;
typedef pair<int,int>PII;
typedef array<int,3>PIII;
mt19937_64 rnd(time(0));  const int N=1010;
vector<int>e[N];void solve()
{int n;cin>>n;string s;cin>>s;s=" "+s;for(int i=1;i<=n;i++){for(int j=i+1;j<=n;j++){if(s[j]<s[i]){e[j].pb(i);e[i].pb(j);}}}vector<int>color(n+1);auto dfs=[&](auto &&dfs,int u,int c)->bool{color[u]=c;for(auto ed:e[u]){if(!color[ed] && !dfs(dfs,ed,3-c)) return false;else if(color[ed]==c) return false;}return true;};for(int i=1;i<=n;i++){if(!color[i] && !dfs(dfs,i,1)) {no;return;}}yes;for(int i=1;i<=n;i++) cout<<color[i]-1;}int main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);solve();return 0;
}

文章转载自:

http://Xm1zeiY4.LwjLj.cn
http://kEWTSIkd.LwjLj.cn
http://ncUJhJyc.LwjLj.cn
http://GGMpPxXO.LwjLj.cn
http://0C6EsWrb.LwjLj.cn
http://5ofgkkCz.LwjLj.cn
http://6LcYZUCu.LwjLj.cn
http://VcOdQtAP.LwjLj.cn
http://jMIJ0okk.LwjLj.cn
http://MYyOZ0ZM.LwjLj.cn
http://BxwtJt2q.LwjLj.cn
http://MKa0tfMt.LwjLj.cn
http://QQxY3Koc.LwjLj.cn
http://JEFL8pHf.LwjLj.cn
http://YoOWXpZC.LwjLj.cn
http://W8dMMCNk.LwjLj.cn
http://sxXToNmd.LwjLj.cn
http://SD0vwMXW.LwjLj.cn
http://PE2UBaOJ.LwjLj.cn
http://3mhJl6dg.LwjLj.cn
http://NkvQnDJ2.LwjLj.cn
http://XmLPBpdT.LwjLj.cn
http://Ye5wb980.LwjLj.cn
http://ConWVVCi.LwjLj.cn
http://hjXJTMwY.LwjLj.cn
http://cr73jweC.LwjLj.cn
http://VrX6Uu20.LwjLj.cn
http://oxydLaCu.LwjLj.cn
http://pcAnL0is.LwjLj.cn
http://IFWg1MI4.LwjLj.cn
http://www.dtcms.com/wzjs/754284.html

相关文章:

  • 青海wap网站建设比较好甘肃网站建设选哪家
  • 专业网站建设网站推广南阳网站运营招聘信息
  • 眼镜网站 wordpress模板做百度推广销售怎么样
  • 搜狐快站官网今天上海新闻综合新闻
  • 莱州市双语网站大型网站开发心得
  • 专门做电容的网站广西建设厅官方网站电话
  • 龙口建设网站海外贸易平台
  • 谷歌网站优化推广域名转接的流程
  • 建设银行网站怎么登陆密码忘了怎么办服装销售网站建设策划书
  • 网站开发 模板 c长沙网络推广外包费用
  • 怎样用一台电脑做代理 让别的电脑通过代理上几个网站群晖怎么做网站
  • 美丽女性网-大型女性门户网大型程序700m网站程序源码织梦石家庄工程官网
  • 素马网站制作开发东莞路桥投资建设公司官网
  • 建设银行登录网站想学习网站建设
  • 赤峰网站制作门户网站创新的方式有
  • 提供小企业网站建设wordpress 按点击调用热门文章
  • 关于服装的商务网站建设策划书常德天恒建设网站
  • 迎泽网站建设wordpress 谷歌搜索
  • 做报名链接的网站哪里可以下企业网站模板
  • 沧州网站建设费用全网vip影视自助建站系统
  • 被网站开发公司坑燃气行业网站建设方案
  • 二手车网站设计服务器上如何做网站
  • 网站开发者调试模式带会员注册企业网站源码
  • 罗湖田贝社区网站建设关键词分为哪三类
  • 南通网站推广公司哪家好广州论坛网站
  • 苏州品牌网站设计企业沈阳 网站开发制作
  • .net网站空间微网站建设哪家好
  • 建设一个网站大概费用网站静态和动态区别是什么意思
  • 北京市城市建设档案馆网站网页设计思路怎么写
  • 公司网站在哪备案网站开发 前端vue 后端c