目錄
這是一道帶權並查集問題因為只有三種種類,我們分別用0,1,2來表示,即0-->1,1-->2,2-->0。
我們需要知道x和y的關係,即需知道x和祖先xx的關係,y和祖先yy的關係,即可得x和y的關係。
①當x的祖先和y的祖先不同時,可知x和y的關係在前面並沒有體現,所以此話一定是真的
②當x的祖先和y的祖先相同時,通過x,y和祖先的關係可知x所在種類和y所在種類的關係,即可判斷話的真假
#include #include using namespace std;
#define ll long long
ll n,k,p,x,y,ans;
ll f[50005],val[50005];
int found(ll x)
int fun(ll d,ll x,ll y)
else
}int main()
if(fun(p-1,x,y))++ans;
}printf("%lld\n",ans);
return 0;
}
此題是乙個思維題,裡面有用到線段樹的知識因為是從1開始變到p,所以陣列中必然要有p出現。
其中所有的0都要變為非0且小於等於q的數字,我們只需要把0變為左邊相鄰的數字即可,注意第乙個數字為0時的情況
然後記錄所有數字出現的最小和最大位置,即可得到乙個區域,在此區域若出現比其小的數字,則不可能。
#include #include using namespace std;
#define ll long long
const int inf=0x3f3f3f3f;
int n,q,a[200005],st[1000000],g=0,b[200005][2];
void build(int root,int l,int r)
}int query(int root,int l,int r,int s,int e)
int main()
//將所有的0變成非0數字,保證陣列裡要有最大的數字
int l=0;
if(!g)
if(l>n)
void change(int i,int l,int r,int x,double v)
int mid=(l+r)>>1;
if (x<=mid) change(i<<1,l,mid,x,v);
else change((i<<1)+1,mid+1,r,x,v);
max[i]=max(max[i<<1],max[(i<<1)+1]);
val[i]=val[i<<1]+divide((i<<1)+1,mid+1,r,max[i<<1]);
}int main()
return 0;
}
dp+最短路令f[i]為到第i天的最少成本,那麼顯然有f[i]=min(f[i],f[j]+cost(j+1,i)+k),其中cost(i,j)為i天到j天的最小花費,然後直接最短路搞
#includeusing namespace std;
const int maxn = 205;
vector>e[maxn];
int d[maxn];
int vis[maxn];
int unreach[maxn][maxn];
int f[maxn];
int n,m,k,ee;
int dijkstra(int s,int t)
for(int i = 1;i<=m;i++)
d[i]=9999999;
queueq;
d[1]=0;
q.push(1);
// vis[1]=1;
while(!q.empty())
} }
return d[m]*(t-s+1);
}int main()}}
printf("%d", a[p]);
if (i != n - 1) printf(" ");
else printf("\n");
}return 0;
}
二分一下邊權。然後跑最小生成樹判斷即可。#include#include#define n 10010
using namespace std;
struct usee[n*3];
int n,ans,cnt,l,r,m,k,x,y,v,w,fa[n];
int find(int x)
bool check(int x)
}if (temp>1;
if (check(mid)) r=mid-1;
else l=mid+1;
} cout<
比賽 2019暑假排位(6)
problems from the 2016 acm icpc asia nha trang regional contest a bcde fghi jkll zy y y z z ylz 直接單調佇列即可 include include include include include inclu...
2018暑假第四題
題目 判斷乙個整數是否是回文數。回文數是指正序 從左向右 和倒序 從右向左 讀都是一樣的整數。python 示例 1 輸入 121輸出 true示例 2 輸入 121輸出 false解釋 從左向右讀,為 121 從右向左讀,為 121 因此它不是乙個回文數。示例 3 輸入 10輸出 false解釋 ...
2018暑假測試五總結
這次測試狠狠地告訴我,不仔細審題 分析樣例,命運如何將我置之死地。頹到家了。拿到第一題,覺得讀懂題意之後就開始想了。想了一小時左右依舊沒想出正解。心情太浮躁,都不懂沉下心來,把審錯題的接近正解的做法想到底 轉而去想t2。發現資料量很小,隨便弄個傻瓜無腦dp就可以搞定。再打了個t1暴力,發現結果怎麼會...