array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 暑假第四测 - 爱码网

暑假第四测

暑假第四测

暑假第四测

 

 暑假第四测

暑假第四测

 

又开始恐怖的数论专题了

题解:

两种理解:补集转换

f[i]表示填了前i个的合法方案, tot[i]表示填了前i个的所有方案, p[i]填了前i个的不合法方案;

这道题相当于填n个数,使他们抑或和=0(太神奇了(⊙o⊙))  

如果前i-1个不合法,我们可以填一个数使他合法,那么就是p[i-1], 但是有些数填进去就会重复;所有我们要除去所有不合法的方案:

如果是重复的,那么我们把重复的两个剃掉,剩下的就一定是合法的,就是f[i-2],其中可以剃掉的数可以选(2^M - 1 - (i-2))个, 但是在踢的时候也会出现重复的情况, 比如我们要踢aa可以出现在第一个位置,又可以出现在最后一个位置, 所以还要除以i;

合法的方案就等于所有方案-不合法的方案;

p[i] = f[i-1]- f[i-2]*(2^M - 1 - (i-2))/i; f[i] = tot[i] - p[i];

 

 

直接dp:dp[i]表示处理了前i个的合法方案,那么前i-1个数的填发方案为(2^M - 1)(2^M - 2)(2^M - 3)…… (2^M - i + 1) ,所以讨论第i位的填法, 显然合法的方案很难求,正难则反;

第一种,前面是合法的,我们填不动了,那么i只能填空集,这样有dp[i-1]种;

第二种,我们填重复了,填重复的数有(2^M - 1 - (i-2))个,这个重复的数可能在(i-1)个位置;

dp[i] = (2^M - 1)(2^M - 2)(2^M - 3)…… (2^M - i + 1)  - f[i-1]*(i-1)*(2^M-1 - (i-1));

暑假第四测暑假第四测
#include <cstdio>
#define N_MAX 1000000
#define lld "%llu"
typedef unsigned long long lnt;
typedef unsigned unt;
const unt P = 100000007;
inline lnt moc(lnt a) { return a < P ? a : a - P; }
inline lnt mod(lnt a) { return a < P ? a : a % P; }
inline lnt qow(lnt a, unt k)
{
    static lnt w;
    for (w = 1; k; a = mod(a * a), k >>= 1)
        if (k & 1) w = mod(w * a);
    return w;
}
lnt c, e, f[5];
unt m, n, i, j;
int main()
{
    scanf("%u %u", &m, &n);
    e = c = qow(2, m) - 1;
    f[0] = 1, f[1] = 0, f[4] = 1;
    for (i = 2, j = 1; i <= n; ++i, ++j &= 3)
    {
        f[(j + 1) & 3] = moc(e - mod(f[j] + mod(f[(j - 1) & 3] * c) * (i - 1)) + P);
        e = mod(e * (c = moc(c - 1 + P)));
        f[4] = mod(f[4] * i);
    }
    printf(lld "\n", mod(f[j] * qow(f[4], P - 2)));
    return 0;
}
View Code

 

第二题:dp

对于一个字符,一是和前面连起来,有dp[i-1]种连法,二是不要他,有dp[i-1],三是自己单独为一个,1;

对于重复的:我们可以记录a[i]上一次出现的位置,那么这次的a[i]和上次a[i]前面连起来肯定重复了,那么就是2*dp[i-1] - dp[last[a[i] - 1];

所以 :

dp[i] = 2 * dp[i-1] + 1 (if a[i] hasn't appeared)

dp[i] = 2  * dp[i-1] - dp[last[ai] - 1]

暑假第四测暑假第四测
#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int M = 1e6 + 10;
const ll p = 1e9 +7;
ll dp[M];
int a[M], lst[M];


int main()
{
    freopen("B.in", "r", stdin);
    freopen("B.out", "w", stdout);
    int n;
    scanf("%d", &n);
    for(int i = 1; i <= n; i++)
        scanf("%d", &a[i]);
    for(int i = 1; i <= n; i++){
        if(!lst[a[i]])
            dp[i] = (2*dp[i-1] + 1) % p;
        else dp[i] = ( (2*dp[i-1] - dp[lst[a[i]] - 1]) % p + p ) % p;
        lst[a[i]] = i;
    }
    printf("%I64d\n", dp[n]);


}
View Code

第三题:显然每个真菌都是独立的,只需计算一个的概率,最后???? 次方即可。

记????[????] 表示一个真菌及其后代在???? 天内全死亡的概率,则

????[????] =Σ︁(i=0--m-1) ???????? * ????[???? − 1]^i;

注意转移时不用快速幂,只需每次多乘一个????[???? − 1],这样时间复杂度为(lm)

暑假第四测暑假第四测
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int M = 1005; 
ll f[M], sum, p[M];
const ll mod = 1e9+7;
int main(){
    freopen("C.in","r",stdin);
    freopen("C.out","w",stdout);    
    int n, m, L;
    scanf("%d%d%d", &m, &n, &L);
    for(int i = 0; i < m; i++)scanf("%I64d", &p[i]);
    //f[0] = p[0];
    for(int k = 1; k <= L; k++){
        ll bas = 1;
        for(int j = 0; j < m; j++){
             f[k] = (f[k] + p[j] * bas) % mod;
            bas = (bas * f[k-1]) % mod;
        }
        
    }
    ll ans  = 1;
    for(int i = 1; i <= n; i++) ans = (ans * f[L]) % mod;
    printf("%I64d\n", ans);
}
View Code

 

 

 

 

相关文章: