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

AtCoder Beginner Contest 396

E - Min of Restricted Sum

构造a[1~n]
所以每一位独立,
对于每一位来说,就是边权为0或者1,点权0或者1,同一个连通块中只要确定一个,其余就确定
了,dfs也就两种,第一个点取0或1,取最小的加上即可

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long longconst int N=200010;
vector<pii> G[N];bool vis[N];
int a[N];
int b[N][40];
int cs,c;bool flag1=1;vector<int> vec;
void dfs(int u,int _){//cout<<"dfs"<<u<<" "<<fa<<" "<<a[u]<<'\n';cs++;if(a[u])c++;vec.pb(u);vis[u]=1;for(auto [v,w]:G[u]){int t=(w&(1ll<<_))?1:0;if(!vis[v]){a[v]=a[u]^t;dfs(v,_);}else {if(a[v]!=a[u]^t){//cout<<u<<" "<<v<<" "<<_<<" "<<a[u]<<" "<<a[v]<<" "<<'\n';flag1=0;}}}
}
void solve(){
int n,m;cin>>n>>m;
while(m--){int u,v,w;cin>>u>>v>>w;G[u].pb({v,w});G[v].pb({u,w});
}int ans=0;
for(int _=0;_<=32;_++){for(int i=1;i<=n;i++)vis[i]=0;for(int i=1;i<=n;i++){if(!vis[i]){flag1=1;int tmp=INF;vec.clear();a[i]=0;cs=0;c=0;dfs(i,_);if(!flag1){cout<<-1<<'\n';return ;}if(tmp>c){tmp=c;for(auto j:vec)b[j][_]=a[j];}if(tmp>cs-c){tmp=cs-c;for(auto j:vec)b[j][_]=a[j]^1;}ans+=tmp*(1ll<<_);}}
}
//cout<<ans<<'\n';
for(int i=1;i<=n;i++){int bb=0;for(int j=0;j<=32;j++){if(b[i][j])bb+=(1ll<<j);}cout<<bb<<" ";
}
}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}

F - Rotated Inversions

cf题,只有正好变成0的贡献发生改变,+前面比他小的-后面比他小的

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define yes cout << "Yes" << endl
#define no cout << "No" << endl
#define pii pair<int,int>
#define ll long long
#define pb push_back
#define ft first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f3f3f3f
#define int long long
const int N=200010;
int a[N],b[N],c[N];vector<int> G[N];
int n,m;
int lowbit(int x){return x&(-x);}
int tr[N];
void add(int x,int k){for(int i=x;i<=m;i+=lowbit(i)){tr[i]+=k;}
}
int get(int x){int s=0;for(int i=x;i>0;i-=lowbit(i))s+=tr[i];return s;
}void solve(){
cin>>n>>m;
int ans=0;
for(int i=1;i<=n;i++){cin>>a[i];a[i]++;ans+=i-1-get(a[i]);G[a[i]].pb(i);add(a[i],1);
}for(int i=m;i>=1;i--){cout<<ans<<'\n';for(int j=0;j<G[i].size();j++){int p=G[i][j];ans+=p-1-(j-1+1);ans-=n-p-(G[i].size()-1-j-1+1);}
}}
signed main(){std::ios::sync_with_stdio(false);int T;T=1;while(T--){solve();}
}
http://www.sczhlp.com/news/183588/

相关文章:

  • wap电影网站建设京东导购网站开发
  • 南宁青秀万达网站建设海报模板网站有哪些
  • 制作 网站重庆靓号网站建设
  • vs2012手机网站开发教程网站开发微信小程序需求量大吗
  • 推荐小蚁人网站建设网站策划的内容包含了什么?
  • 做网站的基本功能可以做ppt的网站有哪些内容
  • wild合成版是哪个网站做的教育机构客户管理系统
  • 一级a做爰片51网站在线阅读网站建设方案
  • 做的网站访问不了济南建设工程招投标管理网
  • 创意设计网站全自动精准引流软件
  • 新野企业网站建设学校网站建设目的及功能定位
  • 给别人做违法网站网站建设找单
  • 为什么做营销型网站做英文网站哪里好
  • 手机百度问一问湘潭有实力的关键词优化公司
  • 查询网站收录命令微信二维码制作小程序
  • ie 常用网站服务器机柜
  • 中国住房和城乡建设部网站安全陕西汽车网站建设
  • 舆情报告2023企业网站优化多少钱
  • 黄埭做网站百度做广告
  • 网站建设静态代码哪个公司的装饰设计公司
  • 求一个旅游网站的代码阿里网站域名指向怎么做
  • 汽车app网站建设昆山营销型网站建设方法
  • 公司网站开发 flask校园网站建设
  • 临汾市网站建设新网站如何让百度收录
  • h5网站架设建设厅官方网站北京
  • 保定网站关键词优化平台推广策划案
  • 100m光纤做网站网站建设到一半想换一家
  • 做外贸网站的效果怎么样国内优秀企业网站设计欣赏
  • 南京app网站开发公司wordpress 图片调用API
  • 广东注册公司在哪个网站申请网天下网站建设