T1 天空龙

大神题,考察多方面知识,例如:快读

附上考试代码,以供后人学习

应某迪要求,我决定多写一点。

正如文化课有知识性失分和非知识性失分一样,OI也同样存在。

但非知识性失分往往比知识性失分更惨。

140分,足以让我屈服。如果这是csps,后果不堪设想。

考后一定要检查:快读,提交语言,freopen删没删。

吸取教训,继续前进吧。

 #include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
inline int read()
{
int x=,f=;char c=getchar();
while(c<''||c>'') {if(c='-') f=-;c=getchar();}
while(c>=''&&c<='') x=x*+c-,c=getchar();
return x*f;
}
int main()
{
int t=read();
while(t--)
{
int a=read(),b=read(),c=read(),x=read(),y=read(),z=read(),cnt=;
if(x<a&&y<b&&z<c){puts("YES");continue;}
if(x>a&&y>b&&z>c){puts("NO");continue;}
if(a>x) cnt+=(a-x)/;else cnt+=(a-x);
if(b>y) cnt+=(b-y)/;else cnt+=(b-y);
if(c>z) cnt+=(c-z)/;else cnt+=(c-z);
if(cnt>=) puts("YES");
else puts("NO");
}
return ;
}

T2 巨神兵

大神题,同样考察快读。

显然状压DP。

有向无环图有分层性,这是思考的起点

设f[i][j]表示i点集最后一层状态为j的方案数,直接转移即可,注意:上一层必须与新加的层的每个点都有连边。时间复杂度$O(4^n×m)$

考虑优化,把后面那一维去掉,这样会算重,容斥一下,奇加偶减。

 #include<cstdio>
#include<cstring>
#include<iostream>
#define int long long
using namespace std;
const int mod=1e9+;
int f[<<],st[],ed[],cnt[],tot,n,m,num[<<],g[<<],t[][],bin[<<];
int p[],gt[<<][];
signed main()
{
int ans=;p[]=;
scanf("%lld%lld",&n,&m);
for(register int i=;i<=n;i++) bin[<<i-]=i;
for(register int i=;i<=m;i++) p[i]=p[i-]*%mod;
for(register int i=;i<=m;i++) scanf("%lld%lld",&st[i],&ed[i]),t[st[i]][ed[i]]++;
for(register int i=;i<<<n;i++)
for(register int j=;j<=n;j++)
gt[i][j]=gt[i^(i&-i)][j]+t[bin[i&-i]][j];
for(register int i=;i<<<n;i++) f[i]=,num[i]=num[i^(i&-i)]+;
for(register int i=;i<<<n;i++)
{
int ret=((<<n)-)^i;g[]=;
for(register int k=(ret-)&ret;k;k=(k-)&ret)
{
int st=k^ret;
g[st]=g[st^(st&-st)]*(p[gt[i][bin[st&-st]]]-)%mod;
(f[i|st]+=(num[st]&?:-)*f[i]*g[st]%mod)%=mod;
}
int st=ret;
g[st]=g[st^(st&-st)]*(p[gt[i][bin[st&-st]]]-)%mod;
(f[i|st]+=(num[st]&?:-)*f[i]*g[st]%mod)%=mod;
}
printf("%lld\n",(f[(<<n)-]%mod+mod)%mod);
return ;
}

T3 太阳神

直接反演,再发现一个小规律就好了。

 #include<cstdio>
#include<iostream>
#define int long long
using namespace std;
const int N=,mod=1e9+;
short mul[N+];
char vst[N+];
int prime[+],tot;
int n,ans;
inline void pre()
{
mul[]=;
for(register int i=;i<=N;i++)
{
if(!vst[i]) prime[++tot]=i,mul[i]=-;
for(register int j=;j<=tot&&prime[j]*i<=N;j++)
{
vst[i*prime[j]]=;
if(i%prime[j]==){mul[i*prime[j]]=;break;}
mul[i*prime[j]]=-mul[i];
}
}
return ;
}
inline int gg(int x)
{
int cnt=;
for(register int i=;i*i*i<=x;i++,cnt++)
for(register int j=i+;i*j*j<x;j++)
(cnt+=*(x/i/j-j)%mod)%=mod;
for(register int i=;i*i<=x;i++)
(cnt+=*(x/i/i-(x/i/i>=i))%mod)%mod;
return cnt;
}
inline void Get()
{
for(int i=;i*i<=n;i++)
{
if(!mul[i]) continue;
(ans+=mul[i]*gg(n/i/i)%mod)%=mod;
}
}
signed main()
{
scanf("%lld",&n);
pre();Get();
cout<<(((n%mod*(n%mod))%mod-ans)%mod+mod)%mod<<endl;
return ;
}

csps模拟测试57的更多相关文章

  1. csp-s模拟测试57(10.2)「天空龙」·「巨神兵」·「太阳神」

    题目是古埃及神话??? A. 天空龙 傻逼模拟,看来没有滑天下之大稽QAQ,也没有打错快读(大雾...) B. 巨神兵 难度爆增,一脸懵比..... 60分状压: 因为是求有向图,关于有向图好像拓扑用 ...

  2. CSP-S 模拟测试57题解

    人生第一次A,B层一块考rank2,虽然说分差没几分,但还是值得纪念. 题解: T1 天空龙: 大神题,因为我从不写快读也没有写考场注释的习惯,所以不会做,全hzoi就kx会做,kx真大神级人物. T ...

  3. csp-s模拟测试91

    csp-s模拟测试91 倒悬吃屎的一套题. $T1$认真(?)分析题意发现复杂度不能带$n$(?),计划直接维护答案,考虑操作对答案的影响,未果.突然发现可以动态开点权值线段树打部分分,后来$Tm$一 ...

  4. csp-s模拟测试86

    csp-s模拟测试86 分屋前的最后一次考试,我早就放弃了自己. 02:02:46 70 02:02:57 03:16:08 100 03:16:08 $T1$忘了按位计算,达哥按位计算的$T1$当时 ...

  5. csp-s模拟测试99

    csp-s模拟测试99 九九归一直接爆炸. $T1$一眼板子. $T2$一眼语文题(语文的唯一一次$120+$是给模拟出来的可知我的语文能力). $T3$一眼普及题. ?? Hours Later 板 ...

  6. csp-s模拟测试98

    csp-s模拟测试98 $T1$??不是我吹我轻松手玩20*20.$T2$装鸭好像挺可做?$T3$性质数据挺多提示很明显? $One$ $Hour$ $Later$ 这$T1$什么傻逼题真$jb$难调 ...

  7. csp-s模拟测试97

    csp-s模拟测试97 猿型毕露.水题一眼秒,火题切不动,还是太菜了. $T1$看了一会儿感觉$woc$期望题$T1??$假的吧??. $T2$秒. $T3$什么玩意儿. 40 01:24:46 00 ...

  8. csp-s模拟测试96

    csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 23 ...

  9. csp-s模拟测试95

    csp-s模拟测试95 去世场祭. $T1$:这不裸的除法分块吗. $T2$:这不裸的数据结构优化$Dp$吗. $T3$:这不裸的我什么都不会搜索骗$30$分吗. 几分钟后. 这除法分块太劲了..(你 ...

随机推荐

  1. 移动端meta设置大全

    声明文档使用的字符编码:  <meta charset='utf-8'> 强制让文档与设备的宽度保持1:1,对页面设置不能进行缩放: <meta name="viewpor ...

  2. windows服务器多端口Redis安装步骤

    1.从官网获取最新稳定版redis文件.按端口号复制多个文件,比如6379和6380端口的文件包, 修改各自Conf文件的port号,分别为6379和6380.然后重命名为redis6379.conf ...

  3. 机器学习:weka中添加自己的分类和聚类算法

    不管是实验室研究机器学习算法或是公司研发,都有需要自己改进算法的时候,下面就说说怎么在weka里增加改进的机器学习算法. 一 添加分类算法的流程 1 编写的分类器必须继承 Classifier或是Cl ...

  4. boost::asio::tcp

    同步TCP通信服务端 #include <boost/asio.hpp> #include <iostream> using namespace boost::asio; in ...

  5. vue —— 监听

    vue的监听用途很大 比如:通过数据的值的变化,执行某个方法 首先:data中要有个变量初始值 finalTotalAmount的初始值是0 我们想当finalTotalAmount值发生变化时,执行 ...

  6. Tomcat源码分析三:Tomcat启动加载过程(一)的源码解析

    Tomcat启动加载过程(一)的源码解析 今天,我将分享用源码的方式讲解Tomcat启动的加载过程,关于Tomcat的架构请参阅<Tomcat源码分析二:先看看Tomcat的整体架构>一文 ...

  7. MySQL常用sql语句-----数据表的查询操作

    常用的sql语句如下,应对工作足以 1.查询指定字段 select c_id,c_age,c_name from t_student; select c_id as 编号,c_name as 姓名,c ...

  8. python编程系列---args与kwargs详解

    args与kwargs详解 """ Process([group [, target [, name [, args [, kwargs]]]]]) - target:目 ...

  9. [洛谷P3613]睡觉困难综合症

    写码30min,调码3h的题.. 好在最后查出来了 , , n, x, y, z); 改成了 , , n, mark[x], y, z); 然后$40\rightarrow 100$ #include ...

  10. Tomcat原理与优化随笔

    1. 基础组件: Server, Service: Connector(http, https, ajp用于Apache反向代理), Engine Engine: Realm用于安全配置等,如User ...