wxy 2.27 #8
v>
wxy 2.27 #8
A
给出一些字母模拟加法,要求相同字母用相同数字代替,不同字母用不同数字代替,开头的字母不能用
0代替。
应为题目保证最多只有是个不同的字母,dfs搜索每个字母应该匹配什么数字,复杂度为10!
=3628800,然后对于所匹配好的字母和数字进行check看是否满足式子,复杂度为10*10!。
B
要求如果该条路是最短路,那么就把该条路两边都铺上鲜花。用dij最短路,正着跑一遍起点到每个点的
最短路,然后反着跑一遍终点到每个点的最短路。读入边的时候要把每条边加入到vector两边,然后枚
举每一条边看dis[u]+dis[v]+edge[u,v]是否等于最短路,如果等于则说明该条边是在最短路上的计算他
的贡献。
C
FFT
bitset做法
考虑bitset对每一个i都有两种状态。对于每个a数组的数,如果有,那么就把a的bitset的该位置标为1。
遍历0--2e5,如果该数对应的a数组为1,那么证明a数组中是有这个数的,那么就把a数组左移i位然后
或上b,左移i位相当于是把原来在x的位置的1移到了x+i位置那么把b的x+i位置给标为1了。最后遍历一
遍b数组如果b的位置为1那么就ans++;
压常数:不要定义多次变量,少一些判断,直接加上。
D
网络流最大流?
向wjmzbmr学习,acm本就是逆天而行。
浙公网安备 33010602011771号