19-10-24-H
H H H H H H
ZJ一下:
T1只会暴力,测试点分治。
(表示作者的部分分并没有给够,暴力加部分表按测试点分类可以得60吧……)
T2先直接手玩第一个子任务。
然后就$Find$了一个神奇的(?)性质(其实是$dp$的柿子)
发现只要可以从一个必败状态转移到就是必胜的,如果无法从任何一个必败状态转移过来就是仍是必败状态。
于是码好了$\Theta(N^4)$的暴力加一个测试点分治。
T3没啥时间打,连样例都没测$QAQ$(最后果然WA0了)就丢上去了。
Finally:
|
33
|
Miemeng | 20
03:16:04
|
70
03:16:04
|
0
03:19:46
|
90
03:19:46
|
$T1$为啥只有暴力分?
这是TJ:
T1
直接统各位的$xor$即可;
如何统?
可以发现:
%%%Yu-shi
$$
0000000\\
0000001\\
0000010\\
0000011\\
0000100\\
0000101\\
0000110\\
0000111\\
0001000\\
0001001\\
0001010\\
0001011\\
0001100\\
0001101\\
0001110\\
0001111\\
0010000\\
\vdots
$$
这是有循环节的,直接前缀和做差。
#include <iostream>
#include <cstring>
#include <cstdio>
#define LL long long using namespace std; const int Mod=1e9+7;
LL cna0,cna1,cnb0,cnb1;
LL ans;
int main(){
ios_base::sync_with_stdio(false);
LL T,a,b,dat,lft;
cin>>T;
while(T--){
ans=0;
cin>>a>>b;
for(int k=1;k<=30;k++){
LL i=1<<k;
dat=(a/i)*i;//cout<<"WholeA:"<<dat<<endl;
lft=a-dat; //cout<<"LftA:"<<lft<<endl;
if(lft<=i/2){
cna0=lft;
cna1=0;
}
else{
cna0=i/2;
cna1=lft-i/2;
}
cna0+=dat/2;
cna1+=dat/2; dat=((b+1)/i)*i;//cout<<"WholeB:"<<dat<<endl;
lft=(b+1)-dat; //cout<<"LftB:"<<lft<<endl;
if(lft<=i/2){
cnb0=lft;
cnb1=0;
}
else{
cnb0=i/2;
cnb1=lft-i/2;
}
cnb0+=dat/2;
cnb1+=dat/2; //cout<<"Bit:"<<k<<endl\
<<"A_1:"<<cna1<<endl\
<<"A_0:"<<cna0<<endl\
<<"B_1:"<<cnb1<<endl\
<<"B_0:"<<cnb0<<endl;\
cout<<(cnb1-cna1)<<" "<<(cnb0-cna0)<<endl;
ans+=(cnb1-cna1)%Mod*(cnb0-cna0)%Mod*(i/2)%Mod;
ans%=Mod;
}
cout<<ans*2%Mod<<endl;
}
}
T2
类似埃筛?
直接刷表。
必败情况很少,$N^2$级别。
于是直接用必败去刷表就可以$N^3$过。
#include <iostream>
#include <cstring>
#include <cstdio>
#define N 333 using namespace std; char dp[N][N][N];
int main(){
for(int i=0;i<=300;i++){
for(int j=0;j<=300;j++){
for(int k=0;k<=300;k++){
if(dp[i][j][k]==0){
for(int a=i+1;a<=300;a++)
dp[a][j][k]=1;
for(int a=j+1;a<=300;a++)
dp[i][a][k]=1;
for(int a=k+1;a<=300;a++)
dp[i][j][a]=1;
int lim=300-max(i,j);
for(int a=1;a<=lim;a++)
dp[i+a][j+a][k]=1;
lim=300-max(i,k);
for(int a=1;a<=lim;a++)
dp[i+a][j][k+a]=1;
lim=300-max(k,j);
for(int a=1;a<=lim;a++)
dp[i][j+a][k+a]=1;
lim=300-max(i,max(j,k));
for(int a=1;a<=lim;a++)
dp[i+a][j+a][k+a]=1;
}
}
}
}
ios_base::sync_with_stdio(false);
int T,a,b,c;
cin>>T;
while(T--){
cin>>a>>b>>c;
cout<<(dp[a][b][c]==0?"No":"Yes")<<endl;
}
}
T3
$gugugu$
19-10-24-H的更多相关文章
- Ubuntu 19.10 发布 | 云原生生态周报 Vol. 24
作者 | 木苏.进超.冬岛.元毅.心水.衷源 业界要闻 1.云原生编程语言 Pulumi 1.0 pulumi ,一款中立的开源云开发平台,Pulumi 支持多语言.混合云环境.完全可扩展.初期支持 ...
- python中使用Opencv进行车牌号检测——2018.10.24
初学Python.Opencv,想用它做个实例解决车牌号检测. 车牌号检测需要分为四个部分:1.车辆图像获取.2.车牌定位.3.车牌字符分割和4.车牌字符识别 在百度查到了车牌识别部分车牌定位和车牌字 ...
- 10.24 正睿停课训练 Day8 AM
目录 2018.10.24 正睿停课训练 Day8 AM A 棒棒糖(组合) B 彩虹糖(思路 博弈) C 泡泡糖(DP) 考试代码 A B C 2018.10.24 正睿停课训练 Day8 AM 期 ...
- 程序员的 Ubuntu 19.10 配置与优化指南
原文地址:程序员的 Ubuntu 19.10 配置与优化指南 0x00 环境 CPU: Intel Core i9-9900k GPU: GeForce RTX 2070 SUPER RAM: DDR ...
- 背水一战 Windows 10 (24) - MVVM: 通过 Binding 或 x:Bind 结合 Command 实现,通过非 ButtonBase 触发命令
[源码下载] 背水一战 Windows 10 (24) - MVVM: 通过 Binding 或 x:Bind 结合 Command 实现,通过非 ButtonBase 触发命令 作者:webabcd ...
- table-cell http://www.cnblogs.com/StormSpirit/archive/2012/10/24/2736453.html
http://www.cnblogs.com/StormSpirit/archive/2012/10/24/2736453.html
- 使用mybatis提供的各种标签方法实现动态拼接Sql。使用foreach标签实现遍历查询。比如实现select * from user where id in(1,10,24)这条sql查询语句。
向sql传递数组或List,mybatis使用foreach解析,如下: 需求: 传入多个id查询用户信息,用下边的sql实现: select * from user where id in(1,10 ...
- [Linux] 在 Ubuntu 19.10 上开启 SSH 服务并允许远程登录
在 Ubuntu 19.10 上安装 SSH,并开启服务 0.检查并确认系统当前是否已安装SSH: sudo ps -e | grep ssh 如果只有 ssh-agent 说明 ssh-server ...
- [Linux] 树莓派 4B 安装 Ubuntu 19.10 (Eoan Ermine) IOT 版
硬件:Raspberry Pi 4B系统:Ubuntu 19.10 (Eoan Ermine) for IOT官网:https://ubuntu.com/download/iot/raspberry- ...
- Java习题10.24
Java习题10.24 1. 1,3.connect()与accept():这两个系统调用用于完成一个完整相关的建立,其中connect()用于建立连接.accept()用于使服务器等待来自某客户进程 ...
随机推荐
- 树上思维题——cf1060E
只要算每条路径的贡献即可 显然长度为偶数的贡献是len/2 长度为奇数的贡献是(len+1)/2 所以结果就是(sum+tot)/2 sum:路径总长 tot:奇数路径数量 怎么求奇数路径数量:只有深 ...
- CF459E Pashmak and Graph (Dag dp)
传送门 解题思路 \(dag\)上\(dp\),首先要按照边权排序,然后图都不用建直接\(dp\)就行了.注意边权相等的要一起处理,具体来讲就是要开一个辅助数组\(g[i]\),来避免同层转移. 代码 ...
- 单层感知机_线性神经网络_BP神经网络
单层感知机 单层感知机基础总结很详细的博客 关于单层感知机的视频 最终y=t,说明经过训练预测值和真实值一致.下面图是sign函数 根据感知机规则实现的上述题目的代码 import numpy as ...
- 从 i++ 和 ++i 说起局部变量表和操作数栈
本文转载自:从 i++ 和 ++i 说起局部变量表和操作数栈 最近公司有人看了尚硅谷柴林燕老师的第一季面试题,就想来考考我.我觉得柴老师讲的很好,部分内容可以延伸一下,所以写这篇文章分享给大家! 这篇 ...
- linux大神
http://blog.csdn.net/skykingf/article/category/780616
- 洛谷P1792——[国家集训队]种树
传送门:QAQQAQ 题意:$n$个点中选$m$个不相邻的点,使得这些点不相邻(1和n算相邻),求这些点的最大值 思路:这不是神仙题不是神仙题…… 刚看到这题觉得不难,好像只要贪心就可以了但贪心不知从 ...
- Linux 后台运行python .sh等程序,以及查看和关闭后台运行程序操作
1.运行.sh文件 直接用./sh 文件就可以运行,但是如果想后台运行,即使关闭当前的终端也可以运行的话,需要nohup命令和&命令. (1)&命令 功能:加在一个命令的最后,可以把这 ...
- 第二十篇:记下第一个mysql触发器
项目背景:给一个服务限制访问次数,当用户访问这个服务的次数达到这个值的时候,关闭他的访问权限首先访问信息存在一张表中,记录用户的ip:visitor_ip,服务的id:service_id,访问次数: ...
- vue导航条选中项样式
html: <div id="app"> <div class="collection"> <a href="#!&qu ...
- Spring Boot Redis Cluster实战
添加配置信息 spring.redis: database: 0 # Redis数据库索引(默认为0) #host: 192.168.1.8 #port: 6379 password: 123456 ...