Loading

摘要: int getf(int x) { return x==f[x]?x:f[x]=getf(f[x]); } void merge(int x,int y) { x=getf(x),y=getf(y); if(x!=y) f[y]=x; } 阅读全文
posted @ 2019-09-20 23:55 qinuna 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 最小堆、向下调整 void siftdown(int i) { int flag=0,t; while(i*2<=n&&!flag) { if(h[[ii]>h[i*2]) t=i*2; else t=i; if(i*2+1<=n) { if(h[t]>h[i*2+1]) t=i*2+1; } if 阅读全文
posted @ 2019-09-20 23:46 qinuna 阅读(136) 评论(0) 推荐(0) 编辑
摘要: S(1) = {"COFFEE"} S(2) = {"CHICKEN"}S(n) = S(n-2) :: S(n-1) 1 ≤ n ≤500,1 ≤ k ≤ min{∣S(n)∣,1012 } 给n和k 求出S(n)从第k位开始往后的10的字符 递归定位,枚举10个位 #include <bits/ 阅读全文
posted @ 2019-09-20 13:21 qinuna 阅读(212) 评论(0) 推荐(0) 编辑