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$分吗. 几分钟后. 这除法分块太劲了..(你 ...
随机推荐
- android 6.0导航栏 NavigationBar影响视图解决办法
在开发app的时候会遇到有些测试手机没有物理按钮,比如最近在做的一个app在小米手机上运行显示效果很好,但是在华为P7手机上显示就乱了,底部的NavigationBar直接覆盖在主视图上,导致按钮无法 ...
- 设计模式---结构型模式之适配器模式(Adapter Pattern)
适配器模式定义 将一个类的接口,转换成客户期望的另外一个接口.适配器让原本接口不兼容的类可以合作无间. 适配器模式主要有两种类型:对象适配器和类适配器. 在详细解释这两种类型时,解释部分重要角色.生活 ...
- SpringBootSecurity学习(22)前后端分离版之OAuth2.0自定义授权码
使用JDBC维护授权码 前面的代码中,测试流程第一步都是获取授权码,然后再携带授权码去申请令牌,授权码示例如下: 产生的授权码默认是 6 位的,产生以后并没有做任何管理,可以说是一个临时性的授权码,o ...
- UWP开发入门(二十四)—— Win10风格的打印对话框
虽然经常看到阿迪王发“看那个开发UWP的又上吊了”的图……还是忍不住重启一下这个系列.最近有用到UWP的print API,特地来写一篇给某软的这个伟大构想续一秒. 之前的打印对话框差不多长成这样: ...
- Be a Winner 当成功者
Winners see opportunities. Losers see. Winners see possibilities. Losers see problems. Winners see t ...
- PHP弱性处理0e开头md5哈希字符串缺陷/bug
PHP在处理哈希字符串时,会利用”!=”或”==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他 ...
- JS中的事件委托/事件代理详解
起因: 1.这是前端面试的经典题型,要去找工作的小伙伴看看还是有帮助的: 2.其实我一直都没弄明白,写这个一是为了备忘,二是给其他的知其然不知其所以然的小伙伴们以参考: 概述: 那什么叫事件委托呢?它 ...
- moloch1.8.0简单操作手册
moloch1.8.0简单操作手册 Sessions 页面:Sessions主要通过非常简单的查询语言来构建表达式追溯数据流量,以便分析. SPIView 页面: SPIGraph页面:SPIGrap ...
- Js正则学习笔记
众所周知正则表达式是十分强大的存在,编码时能够熟练使用正则能够极大的简化代码,因此掌握正则非常有必要. 创建正则语法: // 创建正则的两种方式// 1.构造函数 let reg = new RegE ...
- WebSocket学习简书
1.什么是Websocket? WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议. 2.单工,半双工和全双工通信? 在单工通信中,通信的信道是单向的,发送端 ...