test2 3-16 2021 模拟赛two

文章目录

  • 考试复盘
  • 染色问题
  • 芬威克树
  • 礼物

考试复盘

先说T1T1T1

染色,以为是道数学题,推了有一会儿的公式,从颜色1到颜色m,感觉是dpdpdp转移

发现颜色重叠的方案可以转化为另外一种相邻不重叠的染色

但是推到颜色4的时候就发现自己考虑掉了一些情况

最后得出应该是做不出来了

往后做了,又跑回来敲暴力,半天发现自己暴力敲出来都很困难


再说T2T2T2

推了整整一张的lowbitlowbitlowbit发现了某些跟kkk进制和取模kkk的一些性质吧

先把暴力敲了

然后推广n≤1e9n\le 1e9n1e9,然后就卡住了

半路转回去看暴力,发现自己对树状数组找的规律出现了偏差——打表发现的,仓促改了

才勉强保住了202020的暴力

对于40%40\%40%的部分分也有想过放到树上,将iiii+lowbit[i]i+lowbit[i]i+lowbit[i]连边,然后线段树维护一下

哎!应该再认真细想一下下,就发现其实是非常好维护的啊!白丢202020

当时莽正解去了


最后说T3T3T3

我真的很讨厌很不会这种环旋转同构的题,啊啊啊啊啊啊啊啊

刚看到环就打算破环为链嘛,毕竟是老套路

然后旋转同构,就想到了昨天做的第三题,zjx大佬讲得减去前一个出现的位置处理

考虑将宝石的位置相减,然后sortsortsort位置差,判断重构

但是很快发现自己无法破环为链处理n−1n-1n1这两个宝石的衔接

导致暴力也敲不出来

只能拿m=0m=0m=0n≤4n\le 4n4暴力打表的分

万万没想到这种旋转等价类就是polyapolyapolya应用老套路!!

俺哪知道polyapolyapolya??寒假期间lj讲过,但是当时就没学懂

这次我认了——害,今天要把polyapolyapolya补一下!!


总结一下

这一场的考试单不提难度问题,毕竟没有人知道下一场是简单还是难到抠jio

但就自己考试心态以及策略上的反思

第一次通读了三道题后,很明显感受到自己对T1,T3T1,T3T1,T3的方案数求解之类问题,尤其是T1T1T1完全做不来

就花了挺多的时间搞T2T2T2,最后还是呈现的暴力

T1,T3T1,T3T1,T3之间多次反复横跳,敲暴力,敲了又删又改,再敲……

完全没有冷静下来想想如何敲暴力,以及自己是否能敲出来,还有暴力的正确性

  1. 评估题目难度后,若觉得绝对无果,就弄暴力
  2. 暴力更要思考一些细节,评估自己能否敲出来,以及验证暴力的正确性。确定🆗后再动手敲
  3. 选择自己最有可能淦出来的题,根据自己能力分配时间,啃死了做不出来的题就不要回去看了,绝对不能再出现反复横跳不断切换思路,整个人没有静下来的情况!!!
  4. 就算没有一道题能拿更多的暴力分,也要想尽办法拿基础的暴力分,并且不要看不起4/54/54/5分,不气馁,不妥协,不慌张,尽可能多拿每一分
  5. 考试时间长,后半部分更要打起精神,切忌出现后面走神分心,今天就出现了两三次,一定要迅速拉回来
  6. 以自己的水平来看,能完整淦出一道题的几率小之又小,所以应该一点点蚕食,从少到多,从小到大一点点把部分分慢慢拿走,最后获得一个可观的部分分总和

总而言之,今天的考试反思就是当做一道题的时候就认认真真专注地啃,不要在此期间去想其他的题目。不要在题目间反复横跳,一会儿做这个,一会儿做那个,除非灵光乍现,当然我一般是不可能的。

今天暴露出来的知识问题

  1. dpdpdp果然还是自己比较薄弱的板块
  2. 与环有关的题目
  3. 统计方案数——一般都跟数学挂钩的题目
  4. FFT,NTTFFT,NTTFFT,NTT的应用还是不太行啊
  5. polyapolyapolya定理
  6. 好像很多的样子……

抓紧时间孑孓!!!今晚至少要把polyapolyapolya重新学懂


染色问题

目前只会50%50\%50%的部分分

不考虑先前染的颜色被覆盖这件事情

如果某种颜色在最终的序列中出现了xxx次,就直接认为在染这种颜色的时候,只染了xxx个格子

但这样一来每次染色的格子就不再是连续的一段了

巧妙的把给一段格子染色认为是在已被染色的颜色序列中插入一段

fi,jf_{i,j}fi,j表示前iii次染色,已有颜色序列长度为jjj的方案数

则有转移 想了很久,是晚上去逛操场走圈圈时想懂的

fi,j=fi−1,j+∑k=0j−1fi−1,k×(k+1)f_{i,j}=f_{i-1,j}+\sum_{k=0}^{j-1}f_{i-1,k}\times (k+1)fi,j=fi1,j+k=0j1fi1,k×(k+1)

  1. iii颜色染完后被覆盖,相当于没染过,fi−1,jf_{i-1,j}fi1,j
  2. 枚举iii颜色染得长度j−kj-kjk,因为不能出现大颜色中间夹杂小颜色的不合法情况(2,1,2)(2,1,2)(2,1,2),所以当第iii颜色插入的时候,一定是(…,i,i,…,i,i…..)(…,i,i,…,i,i…..)(,i,i,,i,i..) 第一个iii前面的长度可能为[0,k][0,k][0,k],剩下的就是最后一个iii后面的,所以是×(k+1)\times (k+1)×(k+1)

最后一次染色的长度必须非000fm,jf_{m,j}fm,j不能从fm−1,jf_{m-1,j}fm1,j转移过来,ififif一下就行了,答案即为fm,nf_{m,n}fm,n

芬威克树

直接翻译代码可得202020,√

n,q≤2e5n,q\le 2e5n,q2e5404040

考虑将每个点xxxx+lowbit(x)x+lowbit(x)x+lowbit(x)连边,如果后者超过了nnn就改为连向一个超级根

这样树状数组就变成了一棵有根树

而一次修改操作是把一个点到根路径上的每个点的权值异或上vvv,查询是单点查询权值

随便树状数组或者线段树维护dfndfndfn序即可做到

kkk为奇数 √

在这个情况连出来的树,跳lowbitlowbitlowbit操作的本质相当于xxx的最低非零位不断×2\times 2×2并进位

发现在kkk是奇数的时候,xxx的最低非零位永远不会变,因为2x≠0modk2x≠ 0\ mod \ k2x=0 mod k对于任何一个小于kkkxxx都成立,同理在模意义下222的逆元也一定存在,所以每个xxx都只会有只多一个后继

发现连出来的这棵树一定是根节点分叉的若干条链,而每次操作都是给链的一段后缀异或上vvv

所以对于每条链用个数据结构维护一下即可,类似前缀和

kkk为偶数, 此时不能保证[1,n][1,n][1,n]的所有点被连成若干条链

但将kkk拆分为2p×t,t2^p\times t,t2p×t,t为奇数

所有满足最低非零位上的值包含的222的因子个数不小于ppp的点会连成若干条链

接下来只需要考虑剩下的点

考虑每暴力走一步最低非零位值包含的222的因子个数就会+1+1+1

那么在最低位不变的情况下最坏只需要暴力走ppp次(modkmod\ kmod k不会使222的因子个数减少)

当然可能走着走着发现最低非零位乘222变成000了,这时候最低非零位就发生了改变

不过这样的改变至多只有logknlog_knlogkn

所以一次暴力往上走的复杂度就是O(plogkn)=O(log2klogkn)=O(log2n)O(plog_kn) =O(log_2klog_kn) =O(log_2n)O(plogkn)=O(log2klogkn)=O(log2n)

n≤1e9n\le 1e9n1e9

大下标可以动态开点线段树

现在的思路是对于一个点xxx,如果在链上,标记只打在这个点上就返回,查询用前缀和

如果不在链上,在支链上,以后或许会有升级到链上的问题,就暴力更新跳上去

如果想要ACACAC

最后只剩下如何定位一个点xxx在哪一条链上,链头的位置

在这里插入图片描述

#include <cstdio>
#include <iostream>
using namespace std;
#if(__cplusplus == 201103L)
#include <unordered_map>
#include <unordered_set>
#else
#include <tr1/unordered_map>
#include <tr1/unordered_set>
namespace std {using std :: tr1 :: unordered_map;using std :: tr1 :: unordered_set;
}
#endif
#define maxn 2000005
#define Base 30
struct node {int l, r, ans;node(){ l = r = ans = 0; }
}tree[maxn * 30];
unordered_map < int, int > mp; 
int n, Q, k, p, t, cnt;
int mi[Base + 5];
int f[maxn][Base + 5], g[maxn][Base + 5], F[maxn][Base + 5], C[maxn][Base + 5];int lowbit_id( int x ) {if( k == 2 ) return x;while( x % k == 0 ) x /= k;return x % k;
}int lowbit_val( int x ) {if( k == 2 ) return x & ( -x );int num = 1;while( x % k == 0 ) x /= k, num *= k;return ( x % k ) * num;
}int GetP( int x ) {int num = 0;while( ! ( x & 1 ) ) x >>= 1, num ++;return num;
}int GetC( int x ) {int num = 0, w = 1;while( x % k == 0 ) x /= k;x /= k;while( x ) {num += w * ( x % k );x /= k;w *= k;}return num;
}void init() {mi[0] = 1;for( int i = 1;i <= Base;i ++ ) mi[i] = mi[i - 1] << 1;p = GetP( k ), t = k / mi[p];for( int i = 1;i < t;i ++ ) {f[i][0] = ( i + i ) % t, F[f[i][0]][0] = i;g[i][0] = ( i + i > t ), C[f[i][0]][0] = g[i][0];}for( int j = 1;j <= Base;j ++ ) {for( int i = 1;i < t;i ++ ) {f[i][j] = f[f[i][j - 1]][j - 1], F[f[i][j]][j] = i;g[i][j] = g[f[i][j - 1]][j - 1] + g[i][j - 1], C[f[i][j]][j] = g[i][j];}}
}void modify( int &num, int l, int r, int pos, int val ) {if( ! num ) num = ++ cnt;tree[num].ans ^= val;if( l == r ) return;int mid = ( l + r ) >> 1;if( pos <= mid ) modify( tree[num].l, l, mid, pos, val );else modify( tree[num].r, mid + 1, r, pos, val );
}int query( int num, int l, int r, int L, int R ) {if( ! num ) return 0;if( L <= l && r <= R ) return tree[num].ans;int mid = ( l + r ) >> 1, ans = 0;if( L <= mid ) ans ^= query( tree[num].l, l, mid, L, R );if( mid < R ) ans ^= query( tree[num].r, mid + 1, r, L, R );return ans;
}pair < int, int > find( int x ) {int c = GetC( x ), now = lowbit_id( x ), nxt = 0;now /= mi[p];for( int i = Base;~ i;i -- ) {if( C[now][i] <= c ) {c -= C[now][i];now = F[now][i];nxt += ( 1 << i );}}now *= mi[p];while( x % k == 0 ) x /= k, now *= k;return make_pair( now, nxt );
}int calc( int x ) {if( GetP( lowbit_id( x ) ) < p ) {if( mp.count( x ) ) return mp[x];else return 0;}pair < int, int > top = find( x );if( mp.count( top.first ) ) return query( mp[top.first], 0, 1e9, 0, top.second );else return 0;
}void insert( int x, int val ) {while( x <= n && GetP( lowbit_id( x ) ) < p ) {if( mp.count( x ) ) mp[x] ^= val;else mp[x] = val;x += lowbit_val( x );}if( x <= n ) {pair < int, int > top = find( x );int rt;if( mp.count( top.first ) ) rt = mp[top.first];else rt = mp[top.first] = ++ cnt;modify( rt, 0, 1e9, top.second, val );}
}int query( int x ) {int ans = 0;for( int i = x;i;i -= lowbit_val( i ) )ans ^= calc( i );return ans;
}int main() {scanf( "%d %d %d", &n, &Q, &k );init();while( Q -- ) {int opt, x, y;scanf( "%d %d", &opt, &x );if( opt == 1 ) {scanf( "%d", &y );insert( x, y );}else printf( "%d\n", query( x ) );}return 0;
}

礼物

循环同构套polyapolyapolya,答案为

∑d∣gcd(n,m)f(nd,md)ϕ(d)n\frac{\sum_{d|gcd(n,m)}f(\frac{n}{d},\frac{m}{d})\phi(d)}{n}ndgcd(n,m)f(dn,dm)ϕ(d)

f(n,m)f(n,m)f(n,m)表示将nnn个珠子中的mmm个变成金的,且最长连续段不超过kkk,首尾连续段长度之和也不超过kkk的方案数

考虑未变金的剩下n−mn-mnm个珠子,因为是环所以有n−mn-mnm个间隙

相当于要在n−m−1n-m-1nm1个间隙以及首尾处(特殊的一个间隙单独处理)中放入mmm个金珠子

类似将连续段的金珠子缩成一个点的思想

很容易写出生成函数,每一个间隙(除掉首尾特殊判断)的可能为∑i=0kxi\sum_{i=0}^k x^ii=0kxi

首尾的生成函数为∑i=0k(i+1)xi\sum_{i=0}^k(i+1)x^ii=0k(i+1)xi

F(x)=(∑i=0kxi)n−m−1⋅(∑i=0k(i+1)xi)F(x)=(\sum_{i=0}^kx^i)^{n-m-1}·(\sum_{i=0}^k(i+1)x^i)F(x)=(i=0kxi)nm1(i=0k(i+1)xi)

答案为[xm]F(x)[x^m]F(x)[xm]F(x)

如果停在这里,暴力多项式乘法以及前缀和优化就是O(n2)O(n^2)O(n2)

接下来是正解的处理

G(x)=∑i=0k(i+1)xiG(x)=\sum_{i=0}^k(i+1)x^iG(x)=i=0k(i+1)xi

xG(x)+∑i=0k+1xi=G(x)+(k+2)xk+1xG(x)+\sum_{i=0}^{k+1}x^i=G(x)+(k+2)x^{k+1}xG(x)+i=0k+1xi=G(x)+(k+2)xk+1

解得G(x)=1+(k+1)xk+2−(k+2)xk+1(1−x)2G(x)=\frac{1+(k+1)x^{k+2}-(k+2)x^{k+1}}{(1-x)^2}G(x)=(1x)21+(k+1)xk+2(k+2)xk+1

代回F(x)F(x)F(x)

F(x)=(∑i=0kxi)n−m−1⋅1+(k+1)xk+2−(k+2)xk+1(1−x)2F(x)=(\sum_{i=0}^kx^i)^{n-m-1}·\frac{1+(k+1)x^{k+2}-(k+2)x^{k+1}}{(1-x)^2}F(x)=(i=0kxi)nm1(1x)21+(k+1)xk+2(k+2)xk+1=(∑i=0kxi)n−m−1(1−x)2⋅(1+(k+1)xk+2−(k+2)xk+1)=\frac{(\sum_{i=0}^kx^i)^{n-m-1}}{(1-x)^2}·(1+(k+1)x^{k+2}-(k+2)x^{k+1})=(1x)2(i=0kxi)nm1(1+(k+1)xk+2(k+2)xk+1)

由等比数列求和公式得∑i=0kxi=1−xk+11−x\sum_{i=0}^kx^i=\frac{1-x^{k+1}}{1-x}i=0kxi=1x1xk+1F(x)F(x)F(x)继续等价于
(1−xk+1)n−m−1(1−x)n−m−1×(1−x)2⋅(1+(k+1)xk+2−(k+2)xk+1)\frac{(1-x^{k+1})^{n-m-1}}{(1-x)^{n-m-1}\times (1-x)^2}·(1+(k+1)x^{k+2}-(k+2)x^{k+1})(1x)nm1×(1x)2(1xk+1)nm1(1+(k+1)xk+2(k+2)xk+1)=(1−xk+1)n−m−1(1−x)n−m+1⋅(1+(k+1)xk+2−(k+2)xk+1)=\frac{(1-x^{k+1})^{n-m-1}}{(1-x)^{n-m+1}}·(1+(k+1)x^{k+2}-(k+2)x^{k+1})=(1x)nm+1(1xk+1)nm1(1+(k+1)xk+2(k+2)xk+1)

(1−xk+1)n−m−1(1-x^{k+1})^{n-m-1}(1xk+1)nm1用二项式定理展开变成∑i=0n−m−1Cn−m−1i(−xk+1)i\sum_{i=0}^{n-m-1} C_{n-m-1}^{i}(-x^{k+1})^ii=0nm1Cnm1i(xk+1)i

1(1−x)n−m+1=(1−x)−(n−m+1)\frac{1}{(1-x)^{n-m+1}}=(1-x)^{-(n-m+1)}(1x)nm+11=(1x)(nm+1)用广义二项式定理展开变成∑r=0∞Cn−m+1rxr\sum_{r=0}^{∞}C_{n-m+1}^{r}x^rr=0Cnm+1rxr

第三部分是三个单项式的和,考虑拆开计算,只需要枚举第一部分xxx的指数

#include <cstdio>
#include <cmath>
using namespace std;
#define int long long
#define mod 998244353
#define maxn 1000005
int T, n, m, k, cnt;
int fac[maxn], inv[maxn], phi[maxn], prime[maxn];
bool vis[maxn];int qkpow( int x, int y ) {int ans = 1;while( y ) {if( y & 1 ) ans = ans * x % mod;x = x * x % mod;y >>= 1;}return ans;
}void init( int n ) {fac[0] = inv[0] = 1;for( int i = 1;i <= maxn;i ++ ) fac[i] = fac[i - 1] * i % mod;inv[maxn] = qkpow( fac[maxn], mod - 2 );for( int i = maxn - 1;i;i -- ) inv[i] = inv[i + 1] * ( i + 1 ) % mod;
}int C( int n, int m ) {return fac[n] * inv[m] % mod * inv[n - m] % mod;
}void sieve( int n ) {phi[1] = 1;for( int i = 2;i <= n;i ++ ) {if( ! vis[i] ) prime[++ cnt] = i, phi[i] = i - 1;for( int j = 1;j <= cnt && i * prime[j] <= n;j ++ ) {vis[i * prime[j]] = 1;if( i % prime[j] == 0 ) {phi[i * prime[j]] = phi[i] * prime[j];break;}elsephi[i * prime[j]] = phi[i] * ( prime[j] - 1 );}}
}int gcd( int x, int y ) {if( ! y ) return x;else return gcd( y, x % y );
}int F( int n, int m ) {int ans1 = 0, ans2 = 0, ans3 = 0;for( int i = 0;i * ( k + 1 ) <= m;i ++ ) {int x = i & 1 ? mod - C( n - m - 1, i ) : C( n - m - 1, i );int j = i * ( k + 1 );ans1 = ( ans1 + x * C( n - j, m - j ) % mod ) % mod;if( j + k + 2 <= m ) ans2 = ( ans2 + x * C( n - j - k - 2, m - j - k - 2 ) % mod ) % mod;if( j + k + 1 <= m ) ans3 = ( ans3 + x * C( n - j - k - 1, m - j - k - 1 ) % mod ) % mod; }return ( ans1 + ans2 * ( k + 1 ) % mod - ans3 * ( k + 2 ) % mod + mod ) % mod;
}signed main() {scanf( "%lld", &T );init( maxn - 5 );sieve( maxn - 5 );while( T -- ) {scanf( "%lld %lld %lld", &n, &m, &k );int d = gcd( n, m ), ans = 0, sqt = sqrt( d );for( int i = 1;i <= sqt;i ++ ) {if( d % i == 0 ) {ans = ( ans + F( n / i, m / i ) * phi[i] % mod ) % mod;if( d / i != i ) ans = ( ans + F( n / ( d / i ), m / ( d / i ) ) * phi[d / i] % mod ) % mod;}}printf( "%lld\n", ans * qkpow( n, mod - 2 ) % mod );}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317542.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASP.NET Core 2.2 : 扒一扒新的Endpoint路由方案

ASP.NET Core 从2.2版本开始&#xff0c;采用了一个新的名为Endpoint的路由方案&#xff0c;与原来的方案在使用上差别不大&#xff0c;但从内部运行方式上来说&#xff0c;差别还是很大的。上一篇ASP.NET Core;图解路由(2.1 earler)详细介绍了原版路由方案的运行机制&#xff…

开源中国 2018 新增开源软件最受欢迎 TOP 50

本周开源中国陆续公布了两个年度榜单&#xff0c;分别是国产新秀榜 TOP 30 和国产新增榜 TOP 50。由于两个榜单的数据来源都是国内开源项目&#xff0c;所以会有部分项目同时出现在两个榜单上。今天公布的这份榜单 —— 开源中国 2018 新增开源软件最受欢迎 TOP 50&#xff0c;…

[树链剖分]List wants to travel,Relief grain,hotel加强版,This world need more Zhu

文章目录B&#xff1a;Relief grainC&#xff1a;hotel加强版B&#xff1a;Relief grain 题目 将一段区间修改的标记变成差分&#xff0c;每次都是连续一段的dfndfndfn序修改 从小到大枚举dfndfndfn&#xff0c;在一段标记的最开头的dfndfndfn插入&#xff0c;最末尾的dfndf…

eShopOnContainers 知多少[8]:Ordering microservice

1. 引言Ordering microservice&#xff08;订单微服务&#xff09;就是处理订单的了&#xff0c;它与前面讲到的几个微服务相比要复杂的多。主要涉及以下业务逻辑&#xff1a;订单的创建、取消、支付、发货库存的扣减2. 架构模式如上图所示&#xff0c;该服务基于CQRS 和DDD来实…

[翻译] Entity Framework Core in Action 关于这本书

Entityframework Core in action是 Jon P smith 所著的关于Entityframework Core 书籍。原版地址. 是除了官方文档外另一个学习EF Core的不错途径, 书中由浅入深的讲解的EF Core的相关知识。因为没有中文版,所以本人对其进行翻译。 预计每两天一篇更新 PS: 翻译难免限于本人水平…

NC51189 Mondriaan‘s Dream

NC51189 Mondriaan’s Dream 题意&#xff1a; n * m的矩阵&#xff0c;用1 * 2和2 * 1的砖快密铺&#xff0c;问多少种方法&#xff1a; 题解&#xff1a; 方法1&#xff1a; 我们现在规定砖头的竖放的上部分为1&#xff0c;砖头的横放或者是竖放的下部分为0 我们每两层进…

《小团队构建大网站:中小研发团队架构实践》送书活动结果公布

截止到1月25日24&#xff1a;00&#xff0c;本次送书活动共收到75位同学参与回复&#xff0c;本次很多同学在看到活动的书十年IT老兵带你通过案例学架构&#xff0c;附C#代码&#xff0c;自行就到各大网络商店上购买了书&#xff0c;据反馈这个书很不错.下面把Top 2的留言截图给…

test6 3-21 2021省选模拟赛six

文章目录考试复盘rnglgpm考试复盘 第一题&#xff0c;乍一看期望&#xff0c;又不会做了&#xff0c;乍二看&#xff0c;暴力好像可以202020跑路&#xff0c;屁颠屁颠敲完死活过不了这个简单的样例&#xff1b;开始(⊙⊙?)乍三看&#xff0c;实数&#xff1f;&#xff1f;完了…

如何为 .NET Core CLI 启用 TAB 自动补全功能

Intro在 Linux 下经常可以发现有些目录/文件名&#xff0c;以及有些工具可以命令输入几个字母之后按 TAB 自动补全&#xff0c;最近发现其实 dotnet cli 也可以&#xff0c;从.NET Core 2.0 SDK 开始&#xff0c;NET Core CLI 支持 tab 自动补全。你如果已经装了 dotnet Core S…

P8215-[THUPC2022 初赛]分组作业【网络流】

正题 题目链接:https://www.luogu.com.cn/problem/P8215 题目大意 有2n2\times n2n个人&#xff0c;第2i−12\times i-12i−1和第2i2\times i2i个人一组&#xff0c;然后每个人可以选择愿不愿意合作&#xff0c;愿意需要付出cic_ici​代价&#xff0c;不愿意是did_idi​代价&…

.NET IdentityServer4实战-开篇介绍与规划

一.开篇寄语由于假期的无聊&#xff0c;我决定了一个非常有挑战性的活动&#xff0c;也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架&#xff0c;它就是 IdentityServer4 &#xff0c;如果没有意外的话&#xff0c;一定可以顺利的写完的&#xff0c;如果两天写一篇的话…

test5 3-20 2021省选模拟赛five

考试复盘 第一题&#xff1f;&#xff1f;是个什么互动哦&#xff0c;直接乱来的(&#xffe3;&#xffe3;)σ…(&#xff3f;&#xff3f;)ノ&#xff5c;壁 第二题是前几天考过的&#xff0c;所以知道是polyapolyapolya&#xff0c;但是式子推到最后的二项式定理没推对&am…

微信小程序开发必看,《使用 .NET Core + DevOps 开发微信跨平台应用》,苏州.NET俱乐部课程分享...

【课程名称】《使用 .NET Core DevOps 开发微信跨平台应用》【老师介绍】苏震巍&#xff0c;苏州盛派网络CEO&#xff0c;微软最有价值专家&#xff08;MVP&#xff09;、微软 Ignite 技术大会讲师&#xff0c;Senparc.Weixin作者&#xff0c;《微信开发深度解析》等书作者。苏…

test 7 3-22 2021省选模拟赛seven

文章目录考试复盘人生赢家黑红兔考试复盘 T1T1T1 subtask1:n≤5subtask1:n\le 5subtask1:n≤5&#xff0c;暴搜点的颜色状态以及边的存在状态 对于一条连接相同颜色点的边&#xff0c;可要可不要&#xff0c;不会提供形态变化的贡献&#xff0c;2edge2^{edge}2edge dpdpdp&…

Shadow Properties之美(一)【Microsoft Entity Framework Core随笔】

最近在做公司的项目的时候&#xff0c;开始把部分程序迁移到EF Core&#xff0c;然后有了一些感触&#xff0c;趁着还没忘却&#xff0c;还是先记录下来。EF Core还在成长中&#xff0c;我写这个的时候&#xff0c;版本是2.2。如果对着已有的EF 5/6来说&#xff0c;还有很多功能…

E - Another Postman Problem FZU - 2038

E - Another Postman Problem FZU - 2038 题意&#xff1a; n个点通过n-1个边两两相连&#xff0c;每个边有权值&#xff0c;求对于每个点到其他点的距离和的总和 题解&#xff1a; 我们以下图中的1-2这条边为例子&#xff0c;1-2这条边一共计算了几次&#xff1f; 我们现在…

ASP.NET Core 3.0 项目开始“瘦身”

新的 ASP.NET Core 项目使用名为Microsoft.AspNetCore.App的综合包。该包也可以称为“ASP.NET Core 共享框架”&#xff0c;其背后的基本思想是&#xff0c;包括一个典型的应用程序所需要的所有东西。但是&#xff0c;如果看看该包的依赖项&#xff0c;对“需要”的定义看起来相…

一个.NET Core开发者的Linux入门学习笔记

用.NET Core开发也有一段时间了&#xff0c;但是由于工作原因一直都是在Windows系统上进行的开发&#xff0c;一直想学习Linux然后把.NET Core开发的程序跑在Linux上&#xff0c;然后把心得体会记录一下发布再博客园&#xff0c;奈何拖延症泛滥&#xff0c;所以只写过一篇《Cen…

一二三系列之状压DP——Max Correct Set(一)Neko Rules the Catniverse (Large Version)(二)Make It Ascending(三)

文章目录一&#xff1a;CF1463F二&#xff1a;CF1152F2三&#xff1a;CF1342F一&#xff1a;CF1463F Max Correct Set 有一个结论&#xff1a;以xyxyxy为周期排列填充一定是不劣于最后的答案的 令pxy,rn%ppxy,rn\%ppxy,rn%p ⌊np⌋\lfloor\frac{n}{p}\rfloor⌊pn​⌋出现次数为…

实用帖 | 使用Visual Studio开发.NET Core推荐设置

Visual Studio 一直是.NET程序员的好伙伴&#xff0c;如今虽然.NET Core的开发可以用VSCode等其他环境&#xff0c;但VS依旧有强大的优势。今天来介绍下如何让VS用得更顺手的技能Here We Go!⛷基本配置首先要搞清楚的一点是&#xff0c;并不是所有版本的Visual Studio都支持.NE…