T1.笨笨与电影票(ticket)

有n个1和m个0,求每个数前1的个数都大于等于0的个数的排列数。

非常坑的一道题,推导过程很烦。首先求出所有排列数是

C(n+m,m),然后算不合法的个数。

假设存在一个排列,1100011010,由5个1和5个0构成,但是从第5位开始是不合法的。如果把6~10位取反变成1100000101,就变成了n-1个1,m+1个0的一种排列。所以不合法的排列为

C(n+m,m-1)

但是这是不够的,因为这样会存不下(即使压位),所以需要另一种算法的辅助。

先对阶乘中的每一个数分解质因数,算出分子分母各自有的每个质因数个数,存在a[i],b[i]中,这样的话对每个质数只要乘(a[i]-b[i])次,完全转化成了高精度乘法。

T2.笨笨当火炬手(torch)

给出一个数n,求最小的数m来使n*m为0和1组成的十进制数。

因为n<=100000,所以最多枚举个1019,也就52万多个。一个个凑就好了啊。

T3.笨笨的雕塑安置(sculpture)

n*n的网格有m个点不能用,求放置n个雕塑,每行每列只有一个的方案数。

正面考虑很麻烦,因为能用的点太多了。所以从反面考虑。

总共的放置方案有n!种,要求出不合法的方案数。

用dfs求出m个格子放了k个的方案数,类似于八皇后,存在r[k]数组中。那么剩下的n-k个雕塑就有(n-k)!种方法,所以共有r[k]*(n-k)!种。

然后利用容斥原理,ans=n!-r[1]*(n-1)!+r[2]*(n-2)!-r[3]*(n-3)!……

这样输出ans即可。(ans和r[]要用long long)

二模12day1解题报告的更多相关文章

  1. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  2. 二模14day1解题报告

    注:Index数☞由4,7组成的十进制数. T1.全排列(permutation) 求n个数的第k个排列中,有多少个Index位置上是Index数. 由于k的范围比较小,n的范围比较大(都是109), ...

  3. 二模12day2解题报告

    T1.笨笨玩糖果(sugar) 有n颗糖,两个人轮流取质数颗糖,先取不了的(0或1)为输,求先手能否必胜,能,输出最少几步肯定能赢:不能,输出-1. 一开始天真的写了一个dp,f[i]表示i颗糖最少取 ...

  4. 二模01day1解题报告

    T1.音量调节(changingsounds) 有n个物品的背包(有点不一样,每个物品必须取),给出初始价值,物品价值可正可负(就是两种选择嘛),求可能的最大价值,不可能(<0或>maxs ...

  5. 二模15day1解题报告

    T1.合并序列(minval) 给出长为 n的AB两个序列求两两相加中最小的n个. 据说有证明(在蓝书上,优先队列部分)先把A[1~n]+b[1]入队,然后每取一个a[x]+b[y]就把a[x]+b[ ...

  6. 二模14day2解题报告

    T1.砍树(cuttree) 给出n棵树,要锯下m米木材,现在有一个高度h,h以上所有木头都砍下来,求满足m米的最小h 很简单的二分答案判断可行性. T2.快速求和(quicksum) 给出数字串s, ...

  7. 二模02day1解题报告

    T1.淘汰赛制 比赛时的淘汰赛制,给出每两个球队比赛的胜率,求出最终胜率最高的队伍. 这题的概率真的很难算啊感觉...一开始打的代码打下来就是用f[i][j]表示i场比赛后第j人还在场的概率.不难看出 ...

  8. 二模07day1解题报告

    T1.种树(tree) 有n棵树,各有高度,要求每棵树的高度都小于它到其他树的距离(可能种一起).求砍掉的总高度是多少. Ok,那么可以想到,只要满足每棵树和最近的树满足条件就可以保证和其他树满足了. ...

  9. 二模07day2解题报告

    T1.采药(medic) 有n个草药,要在m的时间内获得最大价值. 乍一看像是01背包,然而数据只能过50分. 考虑数据范围,t<=10,w<=10,所以只有121种草药.考虑多重背包的二 ...

随机推荐

  1. Linear Algebra lecture8 note

    Compute solution of AX=b (X=Xp+Xn) rank r r=m solutions exist r=n solutions unique   example: 若想方程有解 ...

  2. eclipse android sdk content loader一直显示0%的问题解决

    今天上班启动eclipse,发现eclipse 一直卡在android sdk content loader的地方,一直显示为0%.百度后发现很多都是一下解决方法:  关闭Eclipse,删掉Ecli ...

  3. linux KERNEL 问题

    http://stackoverflow.com/questions/9305992/linux-threads-and-process 深入 Linux 的进程优先级(vruntime) https ...

  4. python——socket网络编程

    一.OSI七层模型

  5. lvs的dr模式分析(二)

      #vim /etc/init.d/lvsdrrip #!/bin/bash #DR server VIP=192.168.46.200 case "$1" in start) ...

  6. Java实现多线程的三种方式

    Java多线程实现方式主要有三种:继承Thread类.实现Runnable接口.使用ExecutorService.Callable.Future实现有返回结果的多线程.前两种方式启动的线程没有返回值 ...

  7. Oracle用法集锦

    查询第一条数据 修改表名 ALTER TABLE tablename RENAME TO newtablename 修改列名: ALTER TABLE BD_PRI RENAME COLUMN EU_ ...

  8. 别再为了this发愁了------JS中的this机制

    别再为了this发愁了------JS中的this机制 题记:JavaScript中有很多令人困惑的地方,或者叫做机制.但是,就是这些东西让JavaScript显得那么美好而与众不同.比方说函数也是对 ...

  9. rails下react的demo

    gemfile gem 'react-rails' gen一下 react:install 创建组件 react:component MyComponent name:string age:int v ...

  10. Hibernate之对象的三种状态

    Hibernate之Java对象的三种状态 一.简述 本博文大部分的思想和内容引子CSND上名为 FG2006 这位大神的文章,连接地址为:http://blog.csdn.net/fg2006/ar ...