csps模拟测试57
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的更多相关文章
- csp-s模拟测试57(10.2)「天空龙」·「巨神兵」·「太阳神」
题目是古埃及神话??? A. 天空龙 傻逼模拟,看来没有滑天下之大稽QAQ,也没有打错快读(大雾...) B. 巨神兵 难度爆增,一脸懵比..... 60分状压: 因为是求有向图,关于有向图好像拓扑用 ...
- CSP-S 模拟测试57题解
人生第一次A,B层一块考rank2,虽然说分差没几分,但还是值得纪念. 题解: T1 天空龙: 大神题,因为我从不写快读也没有写考场注释的习惯,所以不会做,全hzoi就kx会做,kx真大神级人物. T ...
- csp-s模拟测试91
csp-s模拟测试91 倒悬吃屎的一套题. $T1$认真(?)分析题意发现复杂度不能带$n$(?),计划直接维护答案,考虑操作对答案的影响,未果.突然发现可以动态开点权值线段树打部分分,后来$Tm$一 ...
- csp-s模拟测试86
csp-s模拟测试86 分屋前的最后一次考试,我早就放弃了自己. 02:02:46 70 02:02:57 03:16:08 100 03:16:08 $T1$忘了按位计算,达哥按位计算的$T1$当时 ...
- csp-s模拟测试99
csp-s模拟测试99 九九归一直接爆炸. $T1$一眼板子. $T2$一眼语文题(语文的唯一一次$120+$是给模拟出来的可知我的语文能力). $T3$一眼普及题. ?? Hours Later 板 ...
- csp-s模拟测试98
csp-s模拟测试98 $T1$??不是我吹我轻松手玩20*20.$T2$装鸭好像挺可做?$T3$性质数据挺多提示很明显? $One$ $Hour$ $Later$ 这$T1$什么傻逼题真$jb$难调 ...
- csp-s模拟测试97
csp-s模拟测试97 猿型毕露.水题一眼秒,火题切不动,还是太菜了. $T1$看了一会儿感觉$woc$期望题$T1??$假的吧??. $T2$秒. $T3$什么玩意儿. 40 01:24:46 00 ...
- csp-s模拟测试96
csp-s模拟测试96 $T1$一眼慢速乘,$T2$稍证一手最优性尝试用神奇数据结构优化,无果,弃.$T3$暴力+信仰. 100 03:16:38 95 03:16:56 35 03:17:10 23 ...
- csp-s模拟测试95
csp-s模拟测试95 去世场祭. $T1$:这不裸的除法分块吗. $T2$:这不裸的数据结构优化$Dp$吗. $T3$:这不裸的我什么都不会搜索骗$30$分吗. 几分钟后. 这除法分块太劲了..(你 ...
随机推荐
- 对BFC规范的理解
什么是BFC? BFC 全称为 块级格式化上下文(Block Fromatting Context),是Web页面的可视化CSS渲染出的一部分.它是块级盒布局出现的区域,也是浮动层元素进行交互的区域. ...
- 用go语言爬取珍爱网 | 第三回
前两节我们获取到了城市的URL和城市名,今天我们来解析用户信息. 用go语言爬取珍爱网 | 第一回 用go语言爬取珍爱网 | 第二回 爬虫的算法: 我们要提取返回体中的城市列表,需要用到城市列表解析器 ...
- iOS RGBA转YV12
引言 因为项目中要做画面共享,所以需要学一点图像相关的知识,首当其冲就是RGB转YUV了,因为图像处理压缩这一块是由专业对口的同事做的,所以呢,我这就是写一下自己的理解,如有不对的地方,还望指正,谢谢 ...
- 新手入门HTML5开发,你必须先搞懂这6个问题
凭借着跨平台,实时更新,无需安装,易于分发等众多优点,HTML5受到越来越多企业的青睐.而凭借着入门相对简单的优势,很多人编程初学者都选择学习HTML5.但对于初学者来说,学习HTML5之前,会有很多 ...
- Msfvenom命令总结大全
1. –p (- -payload-options) 添加载荷payload. 载荷这个东西比较多,这个软件就是根据对应的载荷payload生成对应平台下的后门,所以只有选对payload,再填 ...
- Python3的编码整理总结
python3在内存中是用unicode编码方式存储的,所以不能直接储存和传输,要转化为其他编码进行储存和传输. 字符串通过编码转换成字节码,字节码通过解码成为字符串 encode:str --> ...
- 浏览器渗透框架BeEF使用笔记(一)
0x00 前言 BeEF,全称The Browser Exploitation Framework,是一款针对浏览器的渗透测试工具. 用Ruby语言开发的,Kali中默认安装的一个模块,用于实现对XS ...
- MySQL make_set()的用法
MAKE_SET(bits,str1,str2,…)返回一个设定值(含子字符串分隔字符串","字符),在设置位的相应位的字符串.str1对应于位0,str2到第1位,依此类推.在s ...
- 基于STL的队列略解
什么是STL 以下内容摘自这儿. STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称.它是由Alexander Stepanov.Meng Le ...
- Mysql数据类型最细讲解
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 数据库中事务是最重要的概念之一,所以上篇着重谈了谈数据库中事务的使用,并且举了实例如何在实际开发中去使用事务进 ...