20161026
模擬賽解題報告
by shenben
t1
按照題目說的模擬即可
但這題有乙個神坑:當25
個字母都已經一一對應完畢後,剩下的兩個字母預設對應。
所有的逆序對之間都會連邊,求最大獨立點集。
表面上是個圖論題,其實是個
liso
(nlogn
)求最長上公升子串行的長度
即可ac
t3
第一次手賤,用煉表存邊,這是乙個稠密圖啊!!應該用鄰接矩陣啊。
明明可以用
floyed
跑,非要
dfs亂搞。結果
10分。玩砸了吧。
最後只改到了
40分。
網上的題解(沒看懂):
首先這是乙個神奇的圖,叫做競賽圖。大概定義就是每兩點之間都有且僅有一條有向邊,看這題就非常好理解了。
競賽圖有乙個很好的性質:只要存在環,環中點的個數就一定大於等於3個。
證明:根據定義,一元環和二元環顯然不存在。
於是考慮多元環:
我們知道在2與
6之間會有一條邊,如果這條邊從2指向
6,那麼就形成了
1-2-6
三元環,否則我們會發現原本的六元環變成了
6-2-3-4-5
組成的五元環,環變小了。
當這個環縮小到四元環時,顯然2與
4之間的連線無論是哪個方向都會形成三元環。
證畢。然後我們的思路就清晰了:找到乙個環,然後按照上述方式即可輸出結果。
找環的方式則可以採用
dfs:
選定乙個
mark[i
]=−1
(沒有被遍歷過
)的點,以它為根向下
dfs,將沿途上的點
mark
值設為1
,若再次訪問則就找到環了。
分)
#include#include**(100#include
#include
using
namespace
std;
const
int n=1e4+10
;char
s[n],a[n],b[n],f[n];
bool
vis[n];
int q[n>>2],q[n>>2
];int
lena,lenb,lens;
void
go_special()
vis[p]=1
;
for(int i=0;i1]=a[i];
sort(q+1,q+lena+1
);
int cnt=unique(q+1,q+lena+1)-(q+1
);
for(int i=0;i<26;i++) q[i+1]=i+'a'
;
for(int i=1;i<=26;i++) if(q[i]!=q[i])
}int
main()
for(int i=0;i)
else vis[b[i]]=1,f[b[i]]=a[i];
}/*for(int i='a';i<='z';i++)}}
*/int tot=0
;
for(int i='
a';i<='
z';i++) if(f[i]) tot++;
if(tot==25
) go_special();
for(int i=0;iif(!vis[s[i]])
for(int i=0;i) putchar(f[s[i]]);
return0;
}
分)
#include#include#include
using
namespace
std;
inline
const
intread()
while(ch>='
0'&&ch<='9')
return x*f;
}const
int n=1e5+10
;int
n,len,a[n],b[n];
intmain()
else
}printf("%d
",len);
return0;
}/*int n,ans,a[n];
vectorp[n];
void deal(int x)
int main()e[n
<<1
];int
n,tot,qi,head[n];
char
mp[n];
int ans[4],sans[4]=;
bool
flag,sflag;
void add(int x,int
y)void
record()
void dfs(int x,int
de)
return
; }
for(int i=head[x];i;i=e[i].next)
}int
main()
}for(int i=1;i<=n;i++) dfs(qi=i,1
);
if(sflag) for(int i=1;i<=3;i++) printf("
%d "
,sans[i]);
else puts("-1"
);
return0;
}
8 25模擬賽解題報告
又爆零了,真開心 又是一道考場想出正解打炸的題。t t 這道題其實很簡單,用字典樹略做處理就好了,幾乎可以做模板題了。因為在trie樹上字首相同的字串一開始經過的一些字元肯定是相同的,所以我們在新增或者刪除操作經過一些節點時,將這個點所對應的集合的 sum 值加一就好了,然後 ans 要加上兩個集合...
模擬賽 BYVoid魔獸世界模擬賽 解題報告
題目名稱 點選進入相關題解 血色先鋒軍 靈魂分流藥劑 地鐵重組 埃雷薩拉斯尋寶 源檔名 c cpp pas scarlet soultap subway eldrethalas 輸入檔名 scarlet.in soultap.in subway.in eldrethalas.in 輸出檔名 scar...
2018 10 24模擬賽1解題報告
預計得分 100 100 100 300 實際得分 100 20 100 220 開場看t1,發現不會做。比較穩一點的做法要寫ac自動機,然是感覺noip又不會考於是寫了三模數hash。然後看t2 t3,發現t3就是個裸的樹形dp,但是可能要寫好長時間,t2完全沒思路。寫t3花的時間比想象的少很多。...