zoukankan      html  css  js  c++  java
  • CF Educational 84

    CF Educational 84

    这场很玄学

    A.数学

    给定n,k,问你可否把n拆成k个不同奇数

    显然if((n+k)&1)两者奇偶不同肯定不行

    分下类,看看平均数与个数之间应该满足什么关系即可

    B.模拟

    阅读题,一大堆废话,无非讲的是每个公主各自有选人名单,最前的公主选可行的最前的王子

    男女数一样多

    现在就问你是否完全般配,若否,你在任意一个公主名单里加个王子,要使得般配数++即可

    开个数组存下状态,女生没pick到,就记录下,回头发一个像我这样帅的单身即可

    C.构造,模拟

    这题很无聊

    给定n*m的长方形

    给定k个出发点,k个目标点

    你每步操作可对所有点上下左右,撞墙不动

    问你在2mn步中能否构造路径,使得目标点只少被经过一次

    这题蛋疼的很,2mn够大了,都够跑遍棋盘了,主要是特判很害人

    D.置换群

    不会,慢慢补嘞~

    E.组合数学##

    其实这题理解清楚题目意思其实不难

    注意它问的是长为i的砖数,而不是含有长为i砖的数有多少

    这题比较友好的一点就是,它给你补了前导零,使得做题异常方便

    我们只需要直接枚举一下i的长,再分类讨论连续块在中间,两侧的情况

    值得注意的是要初始化10的n次幂%mod

    #include<iostream>
    #include<cstring>
    using namespace std;
    #define INF 1e10+5
    #define maxn 200005
    #define minn -105
    #define ld long double;
    #define uint unsigned int;
    #define ull unsigned long long;
    typedef long long ll;
    ll n,p[maxn];
    const ll mod=998244353;
    int main()
    {
    	cin.tie(0);
    	cout.tie(0);
    	ios_base::sync_with_stdio(false);
    	cin>>n,p[0]=1;
    	for(int i=1;i<=n;i++)
    	    p[i]=p[i-1]*10%mod;
        for(int i=1;i<=n;i++)
        {
        	if(i==n)cout<<10;
        	else
        	{
        	    ll mid=n-i-1,lr=2;
        	    mid=p[n-i-1]*mid%mod*9*9%mod;
        	    lr=lr*9%mod*p[n-i]%mod ;
        	    cout<<(mid+lr)%mod<<" ";
    	   	}
    	}
    
    	return 0;
    }
  • 相关阅读:
    计算机网路知识的简单介绍
    计算机的发展史及多道技术
    计算机基础知识
    Flask学习【第11篇】:整合Flask中的目录结构
    Flask学习【第10篇】:自定义Form组件
    Flask学习【第9篇】:Flask-script组件
    Flask学习【第8篇】:flask-session组件
    Flask学习【第7篇】:Flask中的wtforms使用
    Flask学习【第6篇】:Flask中的信号
    Flask学习【第4篇】:用Flask的扩展实现的简单的页面登录
  • 原文地址:https://www.cnblogs.com/et3-tsy/p/12577889.html
Copyright © 2011-2022 走看看