===== C ===== 这么简单一道题竟然想了好久 枚举a,那么b取模等于几就知道了,同理c也知道了。 ===== D ===== 这种构造要求长度必须相等的题,我感觉首先考虑**2进制拆分** 首先我们可以构造位数个点,相邻两个点$i,i+1$分别连$2^{i-1},0$这两条边 这样如果最高位为$k$,我们就构造出来了一个$2^k-1$,剩下就考虑剩下的为1的位怎么练。 接下来显然应该是要将代表$2^i$且在第$i$位为$1$的$i$号点,和最终点连边 **这里比较巧妙** 如果第i位为1,那么就把代表第i位的点,与终点,连上一个边权为,前i位归为0,后面剩下的位不变的边。 合理性比较显然,这种层层递进的边就很巧妙, 比如数字为1011010 第一次可以构造1011000-1011001 第二次可以构造1010000-1010111,第三次1000000-1001111,即可 ===== E ===== 假设和i为奇数,偶数讨论类似, 那么前i-1个数可以划分为$\frac {i-1} 2$个组,其中每个组最多选一个,后边的数可以随便选, 而且前i-1个数每组里面又有两种选数方案,那么就枚举前i-1个选j组//$2^{j}$//后面任选剩下的即可。 而后面任选剩下的方案数可看作,有k-(i/2 -j)个位置,每个位置要放非负的数字,要求和为n-j的方案数 **插板法求m个变元和为j的方案数为C(n+m-1,m-1)**