[COCI2015-2016#1] UZASTOPNI 题解】的更多相关文章

## P6666 [清华集训2016] 数据交互 题解 ### 简要题意: n个点的树,m次操作,分别为添加一条路径$(u_i,v_i,w_i)$,和撤消一条路径,每一次操作后求出一条路径使得与这条路径有交的路径的权值和最大. ### 题解: 先考虑如何表示所有与一条路径(记为$(u,v)$)有交的路径(记为$(x,y)$) 1.$\mathrm{LCA}(x,y)\in(u,v)$且$\mathrm{LCA}(x,y)\ne \mathrm{LCA}(u,v)$ 2.$\mathrm{LCA}…
题意: 初始数列,每个数都在1~k以内 支持两种操作:1.修改一个数,修改后的数在1~k内                           2.查询一个最短包含1~k的序列的长度 查询100000,数列100000,k是50 题解 考虑压缩状态到一个二进制串. 用一个线段树.每个点维护前缀的状态,后缀的状态.被包含的最短的 然后如果暴力合并子树信息,这样是的,其实有用的状态不超过个.那么时间复杂度就是 合并子树的时候尺取. 就是.卡卡卡卡卡常大概好像就过了 #include <cassert…
官方题解: 官方代码: Code-KARTE: #include <cstdio> #include <iostream> #include <cstring> using namespace std; const int MAXB = 5; const int MAXN = 20; bool bio[MAXB][MAXN]; int getColor(char chr) { if (chr == 'P') return 0; if (chr == 'K') retur…
传送门 越学觉得自己越蠢--这场除了\(A\)之外一道都不会-- \(A\) 贪心从左往右扫,能匹配就匹配就好了 //quming #include<bits/stdc++.h> #define R register #define fp(i,a,b) for(R int i=(a),I=(b)+1;i<I;++i) #define fd(i,a,b) for(R int i=(a),I=(b)-1;i>I;--i) #define go(u) for(int i=head[u],…
前几天写的那个纯属搞笑.(额,好吧,其实这个也不怎么正经) 就先说说day2吧: T1:这个东西应该叫做数论吧. 然而我一看到就照着样例在纸上推了大半天(然而还是没有看出来这东西是个杨辉三角) 然后就想干脆先把n≤25的拿了再说(这个爆不了long long) 然后就硬套用那个组合数公式. 再然后,就只拿了35分. T2:我勒个去. 这个东西应该用堆来优化的吧. 然而并不会堆. 然后就切一个遍历一遍把两端都再加进去(虽然我知道这个时间复杂度估计连20都拿不了). 一个估计是正解的东西: 思考一下…
A .Artwork pro:给定N*M的白色格子,然后Q次黑棒,输出每次加黑棒后白色连通块的数量.(N,M<1e3, Q<1e4) sol:倒着离线做,并查集即可. (在线做法:https://www.cnblogs.com/asdfsag/p/10485607.html #include<bits/stdc++.h> #define ll long long #define rep(i,a,b) for(int i=a;i<=b;i++) using namespace…
题目链接 A. Number Theory Problem 题意:给你一个数N,求形如2k-1且小于2N的数中有多少能被7整除. 解法:观察二进制位找规律,答案是N/3. #include<bits/stdc++.h> using namespace std; typedef long long ll; int n; int main() { ; scanf("%d",&T); while(T--) { scanf("%d",&n); p…
一道sb题目,注意范围,可打表解决,打出杨辉三角,在用前缀和求解即可 代码(一维前缀和) #include<bits/stdc++.h> using namespace std; int n,m,t,k,ans,a[2010][2010],b[2010][2010]; int main(){ scanf("%d %d",&t,&k); a[0][0]=1%k; a[1][0]=1%k; a[1][1]=1%k; for(int i=2;i<=2005;…
传送门 \(A\) 什么玩意儿-- const int N=105; char s[N];int n,f1,f2; int main(){ scanf("%s",s+1),n=strlen(s+1); fp(i,1,n)if(s[i]=='C')f1=1; else if(f1&&s[i]=='F')f2=1; puts(f2?"Yes":"No"); return 0; } \(B\) 什么玩意儿-- const int N=1…
传送门 \(A\) 什么玩意儿-- const char t[]={"0CODEFESTIVAL2016"}; char s[25];int res; int main(){ scanf("%s",s+1); fp(i,1,16)res+=s[i]!=t[i]; printf("%d\n",res); return 0; } \(B\) 什么玩意儿-- const int N=1e5+5; char s[N];int a,b,n,c,cc; in…