石家庄手机网站制作,北京网站建设 app,vs2010如何做网站,wordpress外链缩略图牛客NOIP暑期七天营-提高组1 链接 A 边权可为0就排序建一条链子。 但是边权不为0 除了第一个有0的不行。 x连向上一个比他小的数。 期间判断有无解。 #include bits/stdc.h
#define ll long long
using namespace std;
const int _2e57;
int read() {int x0,f1;char sg… 牛客NOIP暑期七天营-提高组1 链接 A 边权可为0就排序建一条链子。 但是边权不为0 除了第一个有0的不行。 x连向上一个比他小的数。 期间判断有无解。 #include bits/stdc.h
#define ll long long
using namespace std;
const int _2e57;
int read() {int x0,f1;char sgetchar();for(;s9||s0;sgetchar()) if(s-) f-1;for(;s0s9;sgetchar()) xx*10s-0;return x*f;
}
int n,S;
struct edge{int a,b,c;};
struct node {int id,val;bool operator (const node b) const {return valb.val?idb.id:valb.val;}
}a[_];
std::vectoredge ans;
int main() {// freopen(a.in,r,stdin);nread(),Sread();for(int i1;in;i) a[i].valread(),a[i].idi;sort(a1,a1n);for(int i2;in;i) if(!a[i].val) return puts(-1),0;for(int i2;in;) {int lasi;if(a[i].val-a[i-1].valS) return puts(-1),0;while(a[i].vala[las].val) ans.push_back(edge{a[las-1].id,a[i].id,a[i].val-a[las-1].val}),i;}printf(%d\n,(int)ans.size());for(auto x:ans) printf(%d %d %d\n, x.a,x.b,x.c);return 0;
} B 和XOR-MST差不多就应该早做掉这个ZR题要不就不用想呢么久了。答案就是XOR-MST上的最大的那条边。 感性字数内的也是个完全图。因为边权都比外边的那条边小随便连两颗子树就可以变成任意形态的链子了。枚举端点就行了。 #include bits/stdc.h
#define ll long long
using namespace std;
const int _1e67;
ll read() {ll x0,f1;char sgetchar();for(;s9||s0;sgetchar()) if(s-) f-1;for(;s0s9;sgetchar()) xx*10s-0;return x*f;
}
int n,ch[_*60][2],cnt1,rt,dsr;
ll a[_],ans;
void insert(ll x) {int p1;for(int i59;i0;--i) {bool kx(1LLi);if(!ch[p][k]) ch[p][k]cnt;pch[p][k];}
}
ll query(ll x) {int prt;ll ans0;for(int idsr;i0;--i) {bool kx(1LLi);if(ch[p][k]) pch[p][k];else pch[p][!k],ans|1LLi;}return ans;
}
int main() {// freopen(b.in,r,stdin);nread();for(int i1;in;i)a[i]read(),insert(a[i]);rt1,dsr59; while((!ch[rt][0]||!ch[rt][1])dsr0)rtch[rt][0]|ch[rt][1],dsr--;if(dsr0) return puts(0),0;ch[rt][1]0;ans1LL60;for(int i1;in;i)if(a[i](1LLdsr)) ansmin(ans,query(a[i]));coutans\n;return 0;
} C 没大看题貌似很恶心的亚子。 转载于:https://www.cnblogs.com/dsrdsr/p/11379882.html