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

做国外批发网站哪个好全球十大搜索引擎

做国外批发网站哪个好,全球十大搜索引擎,做网站商,在线登录qq网页版http://cplusoj.com/d/senior/p/SS231019B 相当于图上选一条链和一堆环 考虑dfs生成树。 则链是两条从根出发的链 环是每条返祖边组成的环 所以环和链的异或和可以求出来 链的放到线性基里 然后线性基通过高斯消元求主元(贪心思想,主元可以令那一位…

http://cplusoj.com/d/senior/p/SS231019B

相当于图上选一条链和一堆环


考虑dfs生成树。

则链是两条从根出发的链

环是每条返祖边组成的环

所以环和链的异或和可以求出来


链的放到线性基里

然后线性基通过高斯消元求主元(贪心思想,主元可以令那一位一定为1。那么就钦定主元为必选,这样一定更优)

高消的过程中也需要对链进行消元

最后用链来查询,丢01trie上维护

#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read(){int x=0,f=1;char ch=getchar(); while(ch<'0'||
ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}return x*f;}
#define Z(x) (x)*(x)
#define pb push_back
//mt19937 rand(time(0));
//mt19937_64 rand(time(0));
//srand(time(0));
#define N 100010
//#define M
//#define mo
int n, m, i, j, k, T;
int ans, C, MY, dis[N]; 
struct line_kun {int p[100]; void push(int k) {
//		printf("Add %lld\n", k); for(int j = 62; j >= 0; --j)if((k>>j)&1) {if(!p[j]) { p[j]=k; break; }k^=p[j];  }}void xiaoyuan() {
//		for(int j = 62; j >= 0; --j) printf("%lld ", p[j]); printf("\n"); for(int j = 62; j >= 0; --j)if(p[j]) {for(int i = 62; i > j; --i) if((p[i]>>j)&1) p[i]^=p[j]; for(int i = 1; i <= n; ++i) if((dis[i]>>j)&1) dis[i]^=p[j]; }
//		for(int j = 62; j >= 0; --j) printf("%lld ", p[j]); printf("\n"); }pair<int, int> main_Y() {int k = (1ll<<62)-1, ans = 0; for(int j = 62; j >= 0; --j) if(p[j]) k-=(1ll<<j), ans^=p[j]; return {k, ans}; }
}J; 
struct Trie_tree {int tot = 1, son[N * 60][2] ; int que_max(int x) {
//		printf("Que_mx : %lld\n", x); int u = 1, i, k, ans=0; for(i = 62; i>=0; --i) {k = (x>>i)&1ll; if(son[u][k^1]) u=son[u][k^1], ans|=((k^1)<<i); else u=son[u][k], ans|=(k<<i); }
//		printf("\t We get %lld\n", ans); return ans; }void add(int x) {int u = 1, i, k; for(i = 62; i >= 0; --i) {k = (x>>i)&1ll; if(!son[u][k]) son[u][k] = ++tot; u = son[u][k]; }}
}Trie;
struct node {int y, z; 
};
int u, v, w; 
pair<int, int>p; 
vector<node>G[N]; void dfs(int x, int fa) {for(auto t : G[x]) {int y = t.y, z = t.z; 
//		if(t.y == fa) continue; if(dis[y] == -1) {dis[y] = dis[x] ^ z; dfs(y, x); }else J.push(dis[x] ^ dis[y] ^ z); }
}signed main()
{
//	freopen("in.txt", "r", stdin);
//	freopen("out.txt", "w", stdout);
//	freopen("path.in", "r", stdin);
//	freopen("path.out", "w", stdout);
	T=read();
//	while(T--) {
//
//	}n = read(); m = read(); for(i=1; i<=m; ++i) {u = read(); v = read(); w = read(); G[u].pb({v, w}); G[v].pb({u, w}); }memset(dis, -1, sizeof(dis)); dis[1]=0; dfs(1, 0); 
//	for(i=1; i<=n; ++i) printf("%lld ", dis[i]); printf("\n"); J.xiaoyuan(); p = J.main_Y(); MY = p.first; C = p.second; 
//	cout<<(bitset<100>)(MY)<<endl; 
//	for(i=1; i<=n; ++i) dis[i]&=MY; 
//	printf("# %lld %lld %lld\n", MY, C, k); k=C-(MY&C); C&=MY; 
//	printf("# %lld %lld %lld\n", MY, C, k); 
//	for(i=1; i<=n; ++i) printf("%lld ", dis[i]); printf("\n"); Trie.add(0); for(i=1; i<=n; ++i) {if(i==1) Trie.add(dis[i]); if(i==n)  ans = max(ans, dis[i]^Trie.que_max(dis[i]^C)^C); }printf("%lld", ans^k); return 0;
}
http://www.khdw.cn/news/39382.html

相关文章:

  • 盐城网站建设哪家快个人博客网页设计html
  • 企业没有网站怎么做seo优化个人网站模板建站
  • 莎娜琳官方网站做水谷歌商店安卓版下载
  • 著名logo设计欣赏重庆seo优化效果好
  • wordpress 多站点模式营销型企业网站建设步骤
  • 自助建站系统网站建设系统网站建设网站建设网络推广运营公司
  • 上海建网站计划不受限制的搜索浏览器
  • 福永网站设计seo优化是做什么的
  • 比较好的网站建设搜索引擎营销的案例有哪些
  • 烟台做外贸网站建设站长推广网
  • 建筑企业管理咨询公司是做什么的排名轻松seo 网站
  • 黄网站红烧豆腐怎么做深圳20网络推广
  • 网站群建设技术方案成都seo推广
  • 哪家公司做网站建设比较好百度竞价防软件点击软件
  • 重庆做营销型网站公司百度地图广告投放
  • 静态网站源码深圳最新疫情
  • 网站建设成本包含哪些方面百度竞价托管运营
  • 廊坊市网站建设国际新闻最新消息今天
  • 网站建设网络推广书生长沙网络推广外包费用
  • 河南手机网站建设关键词搜索量怎么查
  • 想自己搞一个视频网站怎么做东莞seo建站公司
  • 如何选择锦州网站建设镇江网站建设
  • ytwzjs烟台网站建设百度的seo排名怎么刷
  • wordpress网站登录被篡改crm客户管理系统
  • 校园网站建设先进百度云引擎搜索
  • 自己做网站投入网络营销有哪些就业岗位
  • 网页设计素材网站知乎交换友情链接是什么意思
  • 手表特卖网站葫岛百度seo
  • 怎么做自己的发卡网站6网页设计模板素材图片
  • 网站建设与优化太原网站优化公司