负担集训-Test10

------------------------------------------
菜到爆啊...

------------------------------------------
1006
 
题意:
给你$n$个数,问任意两个拼接起来是$7$的倍数的方案数的对数是多少。
拼接起来就是指把一个数写在另一个数的前面。
$n\leq10^5$
 
预处理一下$f[i][j]$表示长度为$i$,模$7$等于$j$的数个数,然后枚举两对$(i,j)$,验证一下$j_1\times10^{i_2}+j_2$是否为j的倍数,如果是的话,就对答案贡献$f[i_1][j_1]\times f[i_2][j_2]$
 
------------------------------------------
1008
题意:
一开始你有一个数$1$,然后你可以进行一些运算,有三种运算:
1.获得$2^k$
2.取任意两个之前得到过的数(可以是同一个数),得到他们的和
3.取任意两个之前得到过的数(可以是同一个数),得到他们的差
问你最少多少次运算可以得到$n$
$n\leq 10^3$
 
暴搜打表即可。
 
------------------------------------------
1009
 
题意:
交互题,给定$n$,给出一个数列$a$,初始长度为$n-1$。
然后你可以进行以下操作:
提交一个数,这之后交互库会把这个数放在数列的末尾,计算数列后n个数的和模某个常数$m$之后的数,并且他还会把s放在数列的末尾
现在你进行不超过一千次这个操作之后,请你猜出m的值。
$n\leq 100$ , $a[i]\leq 10^9$ , $m \leq 10^9$
 
每次随机给数,算出如果不模$m$应该得到的和$s'$,计算$s'$和$s$的差值$x$,那么$x$一定是$m$的倍数,算出$1000$个$x$之后对所有$x$取一个gcd即可。
 
------------------------------------------