工业题

题解

抱歉,题解没时间写了

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define A 6666666
#define mod 998244353
ll jie[A],ni[A],acnt[A],bcnt[A];
ll fheng[A],fshu[A];
ll n,m,a,b;
ll meng(ll x,ll k){
ll ans=1;
for(;k;k>>=1,x=x*x%mod)
if(k&1)
ans=ans*x%mod;
return ans;
}
ll C(ll x,ll y){
return jie[x]*ni[x-y]%mod*ni[y]%mod;
}
int main(){
// freopen("a_sample2.in","r",stdin);
scanf("%lld%lld%lld%lld",&n,&m,&a,&b);
a%=mod,b%=mod;
jie[0]=1;ni[0]=1;
acnt[0]=bcnt[0]=1;
for(ll i=1;i<=n+m;i++)
jie[i]=jie[i-1]*i%mod,acnt[i]=acnt[i-1]*a%mod,bcnt[i]=bcnt[i-1]*b%mod;
ni[n+m]=meng(jie[n+m],mod-2);
for(ll i=n+m-1;i>=1;i--)
ni[i]=ni[i+1]*(i+1)%mod;
for(ll i=1;i<=n;i++)
scanf("%lld",&fheng[i]),fheng[i]%=mod;
for(ll j=1;j<=m;j++)
scanf("%lld",&fshu[j]),fshu[j]%=mod;
ll ans=0;
for(ll i=n;i>=1;i--){
// printf("acnt=%lld bcnt=%lld ")
// printf("fheng[]=%lld n-i+m=%lld m=%lld i=%lld c=%lld acnt=%lld bcnt=%lld\n",fheng[i],n-i+m,m,i,C(n-i+m,m),acnt[m],bcnt[n-i]);
ans=(ans+fheng[i]*((acnt[m]%mod*bcnt[n-i]%mod)%mod)%mod*C(n-i+m-1,m-1)%mod)%mod;
}
for(ll i=1;i<=m;i++){
// printf("fheng[]=%lld n-i+m=%lld m=%lld i=%lld c=%lld acnt=%lld bcnt=%lld\n",fshu[i],n-i+m,m,i,C(n-i+m,m),acnt[m-i],bcnt[n]);
ans=(ans+fshu[i]*((acnt[m-i]%mod*bcnt[n]%mod)%mod)%mod*C(n-i+m-1,n-1)%mod)%mod;
}
printf("%lld\n",ans);
}

玄学题

题解

题目中说求$\sum\limits_{i=1}^{i<=n}(-1)^{\sum\limits_{j=1}^{j<=m} d(i*j)}$ $d$表示约数个数

$(-1)^{\sum\limits_{j=1}^{j<=m} d(i*j)}$只和奇偶性有关,如果$d(i*j)$为偶数,那么它是没用,偶+偶=偶,偶+奇=奇

那么只考虑约数个数为奇就可以了,发现约数个数为奇当且仅当为完全平方数

我们把$i$ 拆成 $p*q^2$($p$ 没有平方因子),那 $j$ 必须有 $p*r^2$ 的形式,所以对于每个 $i$,都有 $sqrt(\frac{m}{p})$ 个 $j$ 产生贡献。

可以埃筛(需要卡常)可以线筛

我用的埃筛

代码

#include<bits/stdc++.h>
using namespace std;
#define ll int
#define A 11111111
long long m,n,ans;
ll a[A];
int main(){
scanf("%lld%lld",&n,&m);
for(ll i=1;i<=n;i++)
a[i]=i;
ll haha=sqrt(n);
for(ll i=haha;i>=2;i--){
ll now=i*i;
for(ll j=now;j<=n;j+=now){
while(a[j]%now==0)
a[j]/=now;
}
}
for(ll i=1;i<=n;i++){
long long now=m/a[i];
now=sqrt(now);
if(now&1) ans--;
else ans++;
}
printf("%lld\n",ans);
}

卡常题

题解

代码

考试经历

$t1$沉迷打表

范围很大,我觉得可能是$n+m$的

我总觉得$f[n][m]$可拆,拆成$w1*(?*a*?*b)*f[n][0]+w2*(?*a*?*b)f[n-1][0]+.......w.*(?*a*?*b)f[0][m]$

$?$很简单,可以推出来$a$,$b$系数,然后我就开始推总体系数$w$

然后我就打了$75$分钟表,

当然也有一丁点收获

1
1 2
1 3 6
1 4 10 20
1 5 15 35 70
1 6 21 56 126 252
1 7 28 84 210 462 924

$update$

这个表就是组合数表,呵呵.终于认清自己傻逼本质

一直到$20$行我只截取了7行

然而并没有什么卵用,

这个式子屁用没有

然后开始想$t2$

$t2$让我想起了

     God Knows

然后我开始想$区间dp$

然后我想了很长时间,依然没有任何收获

转移起来跟.一样

然后看$t3$,

NOIP模拟测试39,思维禁锢专场「工业题·玄学题·卡常题」的更多相关文章

  1. 「题解」NOIP模拟测试题解乱写II(36)

    毕竟考得太频繁了于是不可能每次考试都写题解.(我解释个什么劲啊又没有人看) 甚至有的题目都没有改掉.跑过来写题解一方面是总结,另一方面也是放松了. NOIP模拟测试36 T1字符 这题我完全懵逼了.就 ...

  2. 2019.8.3 [HZOI]NOIP模拟测试12 C. 分组

    2019.8.3 [HZOI]NOIP模拟测试12 C. 分组 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 刚看这题觉得很难,于是数据点分治 k只有1和2两种,分别 ...

  3. 2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色

    2019.8.3 [HZOI]NOIP模拟测试12 B. 数颜色 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 数据结构学傻的做法: 对每种颜色开动态开点线段树直接维 ...

  4. 2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci)

    2019.8.3 [HZOI]NOIP模拟测试12 A. 斐波那契(fibonacci) 全场比赛题解:https://pan.baidu.com/s/1eSAMuXk 找规律 找两个节点的lca,需 ...

  5. NOIP模拟测试17&18

    NOIP模拟测试17&18 17-T1 给定一个序列,选取其中一个闭区间,使得其中每个元素可以在重新排列后成为一个等比数列的子序列,问区间最长是? 特判比值为1的情况,预处理比值2~1000的 ...

  6. [NOIP模拟测试30]题解

    A.Return 出题人大概是怕自己的中文十级没人知道,所以写了这么一个***题面.可能又觉得这题太水怕全场A掉后自己面子过不去,于是又故意把输出格式说的含糊不清.(鬼知道"那么输出-1&q ...

  7. 「题解」NOIP模拟测试题解乱写I(29-31)

    NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高 ...

  8. NOIP模拟测试19「count·dinner·chess」

    反思: 我考得最炸的一次 怎么说呢?简单的两个题0分,稍难(我还不敢说难,肯定又有人喷我)42分 前10分钟看T1,不会,觉得不可做,完全不可做,把它跳了 最后10分钟看T1,发现一个有点用的性质,仍 ...

  9. NOIP模拟测试10「大佬·辣鸡·模板」

    大佬 显然假期望 我奇思妙想出了一个式子$f[i]=f[i-1]+\sum\limits_{j=1}^{j<=m} C_{k \times j}^{k}\times w[j]$ 然后一想不对得容 ...

随机推荐

  1. 浅谈自动特征构造工具Featuretools

    简介 特征工程在机器学习中具有重要意义,但是通过手动创造特征是一个缓慢且艰巨的过程.Python的特征工程库featuretools可以帮助我们简化这一过程.Featuretools是执行自动化特征工 ...

  2. 软件测试中的测试用例Test Case原来是这么回事!

    如果你去找一份功能测试的工作,在软件测试工程师面试过程中,有一些面试官会来一两个非常简单的问题 什么是Test Case?你是如何去写Test Case的? 我们先来看一下测试用例的介绍 什么是测试用 ...

  3. SE_Work0_回顾与展望

    项目 内容 课程:北航-2020-春-软件工程 博客园班级博客 要求:阅读推荐博客并回答问题 热身作业阅读部分要求 我在这个课程的目标是 提升团队管理及合作能力,开发一项满意的工程项目 这个作业在哪个 ...

  4. Docker 中运行 ElasticSearch 和 Kibana

    ElasticSearch 是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口:Kibana 是一个开源的分析和可视化平台,可以搜索,查看. ...

  5. [刷题] 70 Climbing Stairs

    要求 楼梯共有n个台阶,每次上一个台阶或两个台阶,一共有多少种上楼梯的方法? 示例 输入:n=3 [1,1,1],[1,2,],[2,1] 输出:n=3 实现 自顶向下(递归) 递归 1 class ...

  6. gparted 当分区空间大于1T 用gparted分区

    lsblkfdisk -lparted -s /dev/sdb mklabel msdos parted -s /dev/sdb mkpart primary 0 100%lsblk dfparted ...

  7. Debian 9.4 多网卡链路聚合bond配置

    Debian 9.4 多网卡链路聚合bond配置 安装ifenslave ifenslave 的作用是网卡的负载均衡 root@debian:~# apt-get install ifenslave ...

  8. 大文件查找 du -ahx . | sort -rh | head -10

    # cd /root@test-W330-C30:/# du -ahx . | sort -rh | head -58.2G .5.6G ./usr3.3G ./usr/share1.9G ./usr ...

  9. 070.Python聚焦爬虫数据解析

    一 聚焦爬虫数据解析 1.1 基本介绍 聚焦爬虫的编码流程 指定url 基于requests模块发起请求 获取响应对象中的数据 数据解析 进行持久化存储 如何实现数据解析 三种数据解析方式 正则表达式 ...

  10. MyBatis 缓存机制(十三)

    什么是缓存 缓存就是内存中的一个对象,用于对数据库查询结果的保存,用于减少与数据库的交互次数从而降低数据库的压力,进而提高响应速度. MyBatis 缓存机制原理 Mybatis 缓存机制原理是将第一 ...