当前位置: 首页 > news >正文

焦作市网站建设_网站建设公司_页面权重_seo优化

jsp网站开发登陆,网站建设上海哪家公司好,公司宣传册排版,个人公益网站怎么制作AGC005D - ~K Perm Counting Solution 经典数排列个数题#xff0c;写了个大麻烦容斥。 直接容斥#xff0c;考虑求出fif_ifi​表示有iii个位置∣pi−i∣k|p_i-i|k∣pi​−i∣k的方案数。一个位置iii满足∣pi−i∣k|p_i-i|k∣pi​−i∣k#xff0c;要么piikp_iikpi​ik写了个大麻烦容斥。 直接容斥考虑求出fif_ifi​表示有iii个位置∣pi−i∣k|p_i-i|k∣pi​−i∣k的方案数。一个位置iii满足∣pi−i∣k|p_i-i|k∣pi​−i∣k要么piikp_iikpi​ik要么pii−kp_ii-kpi​i−k当前面的位置选择了piikp_iikpi​ik时后面的pi2kp_{i2k}pi2k​就不能选择ikikik了前面可能对后面产生影响。 因此我们发现对于下标modkmod\;kmodk不同的位置之间一定没有影响于是我们对modkmod\;kmodk余数分类拉出nmodkn\mod knmodk条长为⌊nk⌋1\lfloor\frac{n}{k}\rfloor1⌊kn​⌋1的链和k−nmodkk-n\mod kk−nmodk条长为⌊nk⌋\lfloor\frac{n}{k}\rfloor⌊kn​⌋的链此时∣pi−i∣k|p_i-i|k∣pi​−i∣k等价于选择了该点在链上的相邻点把这些链的fff值用背包合并起来就是我们要求的fff。 于是我们要对每一种jjj算出一条链上选取jjj个的方案数。令gi,j,kg_{i,j,k}gi,j,k​表示前iii点选取jjj个相邻点i−1,i,i1{i-1,i,i1}i−1,i,i1的选取状态为kkk的方案数。 最后的答案要算上没选的点的任意选取的排列个数即 Ans∑i0n(−1)ifi(n−i)!Ans\sum_{i0}^n(-1)^if_i(n-i)!Ansi0∑n​(−1)ifi​(n−i)! 时间复杂度O(n2)O(n^2)O(n2)据说也有O(nlgn)O(nlgn)O(nlgn)的更麻烦做法。 Code #include vector #include list #include map #include set #include deque #include queue #include stack #include bitset #include algorithm #include functional #include numeric #include utility #include sstream #include iostream #include iomanip #include cstdio #include cmath #include cstdlib #include cctype #include string #include cstring #include ctime #include cassert #include string.h //#include unordered_set //#include unordered_map //#include bits/stdc.h#define MP(A,B) make_pair(A,B) #define PB(A) push_back(A) #define SIZE(A) ((int)A.size()) #define LEN(A) ((int)A.length()) #define FOR(i,a,b) for(int i(a);i(b);i) #define fi first #define se secondusing namespace std;templatetypename Tinline bool upmin(T x,T y) { return yx?xy,1:0; } templatetypename Tinline bool upmax(T x,T y) { return xy?xy,1:0; }typedef long long ll; typedef unsigned long long ull; typedef long double lod; typedef pairint,int PR; typedef vectorint VI;const lod eps1e-11; const lod piacos(-1); const int oo130; const ll loo1ll62; const int mods924844033; const int MAXN2005; const int INF0x3f3f3f3f;//1061109567 /*--------------------------------------------------------------------*/ inline int read() {int f1,x0; char cgetchar();while (c0||c9) { if (c-) f-1; cgetchar(); }while (c0c9) { x(x3)(x1)(c^48); cgetchar(); }return x*f; } int num0,h[MAXN],g[MAXN][MAXN][8],f[MAXN],fac[MAXN],tmp[MAXN]; int upd(int x,int y) { return xymods?xy-mods:xy; } void Merge(int q) {for (int j0;jq;j) {h[j]0;for (int t0;t4;t) h[j]upd(h[j],g[q][j][t]);}numq;for (int j0;jnum;j) tmp[j]0;for (int jnum;j0;j--)for (int k0;kq;k) if (jk) tmp[j]upd(tmp[j],1ll*f[j-k]*h[k]%mods);for (int j0;jnum;j) f[j]tmp[j]; } signed main() {int nread(),pread(),qn/p1;fac[0]1;for (int i1;in;i) fac[i]1ll*fac[i-1]*i%mods;g[1][0][0]g[1][1][4]1;for (int i1;iq;i)for (int j0;ji;j){for (int k0;k8;k) g[i1][j][k1]upd(g[i1][j][k1],g[i][j][k]);for (int k0;k8;k){if (!((k1)1)) g[i1][j1][(k1)|1]upd(g[i1][j1][(k1)|1],g[i][j][k]);if (!((k1)4)) g[i1][j1][(k1)|4]upd(g[i1][j1][(k1)|4],g[i][j][k]);}}f[0]1;int rn%p; for (int i1;ir;i) Merge(q);for (int i1;ip-r;i) Merge(q-1);int ans0;for (int i0;in;i) if (i1) ansupd(ans,mods-1ll*f[i]*fac[n-i]%mods);else ansupd(ans,1ll*f[i]*fac[n-i]%mods);printf(%d\n,ans);return 0; }
http://www.ihoyoo.com/news/16127.html

相关文章:

  • 天津做公司的网站高仿卡地亚手表网站
  • 网站编辑器哪个好南阳市建网站公
  • 购物形式网站制作在某网站被骗钱该怎么做
  • 最流行的网站开发框架延安商城网站开发设计
  • 网站响应式首页模板网站建设的实践报告
  • 站长工具网站测速温州专业微网站制作公司哪家好
  • 单页网站做cpa用游戏人物做网站属于侵权吗
  • 中医网站开发搭建网站需要钱吗
  • 网站建设哪家好?看这里做赌场网站犯法么
  • 徐州做网站沈阳厂商东莞饭堂承包东莞网站建设
  • 凡科网站建设完成下载下载器国内十大搜索引擎
  • 大连承揽营销型网站公司wordpress数据库权限
  • 网站建设包含什么番禺网站建设gzhchl
  • 饮料网站建设规划书北京h5网站制作
  • 重庆网站搭建南充市住房建设局网站
  • 百度seo公司整站优化软件wordpress默认头像不显示
  • 黄浦网站建设评价一个网站设计项目的好坏
  • 标书制作教程视频网站搜索词和关键词
  • 怎么用手机做网站教程浙江建设职业技术学院网站
  • 网站页面相关产品链接怎么做淘宝seo什么意思
  • 转业做网站的工具阿里云服务器在哪里放着
  • 国内十大网站建设软件开发 网站建设
  • 网站主题有哪些国内哪里在搞建设
  • 品牌型网站建设特点学校网站建设培训方案
  • 南宁企业网站制作电商网站的图片
  • 网站从域名方山网站建设
  • 遵义公司网站制作哪家好网站不备案做电影网站
  • 网站审批专业积分商城网站建设
  • 网站建立有哪些功能宽带营销案例100例
  • 做网站需要什么配置WordPress要什么环境