csp-s模拟测试86

A. 异或

上来先把除了2^k-1的部分分打满了,写的时候也一直不能集中精力,状态很迷,然后就进了T2

最后10min回来写2^k-1,然后写着写着想出了正解。。。然后就没了。。。

一般套路:按位考虑

如果固定一个数x属于[L,R],然后统计出[L,R]内每位上1的个数就可以分类按位计算答案。

发现不需要知道x具体是谁,我只需要知道所有的x(一起考虑)的01分布。

假设考虑到第i位:

1.当该位为1,能和该位为0的形成1<<i的贡献

2.当该位为0,能和该位为1的形成1<<i贡献

现在只要快速求出[L,R]内每位上1的个数。

%mzz,发现每一位上的01是有循环节的,节长为1<<i+1

求出R、L的前缀桶再相减。

B. 取石子

20分钟写完记搜就交了,也没有对拍,试了下极限数据跑的飞快,也没有从中发现问题。

然后就爆零了,轻敌我活该。

 1 int dfs(int a,int b,int c)
 2 {
 3     if(~f[a][b][c])return f[a][b][c];
 4     if(!a&&!b&&!c)return 0;
 5     if(a&&b&&c){
 6         int lim=min(a,min(b,c));
 7         F(i,1,lim)if(!dfs(a-i,b-i,c-i))return f[a][b][c]=1;
 8     }
 9     if(a&&b&&!c){
10         int lim=min(a,b);
11         F(i,1,lim)if(!dfs(a-i,b-i,c))return f[a][b][c]=1;
12     }
13     if(a&&!b&&c){
14         int lim=min(a,c);
15         F(i,1,lim)if(!dfs(a-i,b,c-i))return f[a][b][c]=1;
16     }
17     if(!a&&b&&c){
18         int lim=min(b,c);
19         F(i,1,lim)if(!dfs(a,b-i,c-i))return f[a][b][c]=1;
20     }
21     if(a&&!b&&!c){
22         F(i,1,a)if(!dfs(a-i,b,c))return f[a][b][c]=1;
23     }
24     if(!a&&b&&!c){
25         F(i,1,b)if(!dfs(a,b-i,c))return f[a][b][c]=1;
26     }
27     if(!a&&!b&&c){
28         F(i,1,c)if(!dfs(a,b,c-i))return f[a][b][c]=1;
29     }
30     return f[a][b][c]=0;
31 }

十分智障

后面if进不去,脑抽。

shu ru fa zha le orz

原文地址:https://www.cnblogs.com/hzoi-yzh/p/11737325.html

时间: 2024-10-20 06:59:09

csp-s模拟测试86的相关文章

微信在线信息模拟测试工具(基于Senparc.Weixin.MP)

目前为止似乎还没有看到过Web版的普通消息测试工具(除了官方针对高级接口的),现有的一些桌面版的几个测试工具也都是使用XML直接请求,非常不友好,我们来尝试做一个“面向对象”操作的测试工具. 测试工具在线DEMO:http://weixin.senparc.com/SimulateTool Senparc.Weixin.MP是一个开源的微信SDK项目,地址:https://github.com/JeffreySu/WeiXinMPSDK (其中https://github.com/Jeffrey

noip模拟测试11

T1:string 第一眼秒出思路,这不就是排序那道题的加强版吗? 然而歪?解复杂度虽然是对的,但常数过大,竟被卡到70 歪?解:(实际上std写的就是这个,但据说std被卡掉了 OAO) 因为字符集很小,所以我们可以把区间排序改为区间查询和覆盖 即:先查询区间内所有字符的个数,再从左端点开始按照大小关系依次将长度为字符个数的区间修改为该字符. 期望复杂度O ( 26*mlogn ),实际复杂度O ( 26*mlogn*(巨大的常数) ) 所以需要一(feng)定(kuang)的卡常 正?解:

模拟测试(vj)

做这份模拟测试,已经崩溃了,英文看不懂,题意理解错.到结束了只a了第一题,人生陷入了低谷,于是花了一天的时间终于把不会的弄明白了,在这里写一份总结~ T1,简单的模拟,如果打枪打中一支鸟,将这个位置设为0,并向两边扩散,注意这个位置一定要有鸟. 代码~ #include<bits/stdc++.h> using namespace std; int a[30000]; int n,m; int main() { cin>>n; for(int i=1;i<=n;i++) ci

Android单元测试与模拟测试详解

测试与基本规范 为什么需要测试? 为了稳定性,能够明确的了解是否正确的完成开发. 更加易于维护,能够在修改代码后保证功能不被破坏. 集成一些工具,规范开发规范,使得代码更加稳定( 如通过 phabricator differential 发diff时提交需要执行的单元测试,在开发流程上就可以保证远端代码的稳定性). 2. 测什么? 一般单元测试: 列出想要测试覆盖的异常情况,进行验证. 性能测试. 模拟测试: 根据需求,测试用户真正在使用过程中,界面的反馈与显示以及一些依赖系统架构的组件的应用测

css Hack,用IE11模拟测试的,条件注释要找真IE去测,模拟的无效

<!DOCTYPE html> <!--[if lt IE 7 ]> <html class="ie6 ie"> <![endif]--> <!--[if IE 7 ]> <html class="ie7 ie"> <![endif]--> <!--[if IE 8 ]> <html class="ie8 ie"> <![endif]

2016年上半年软考真题在线模拟测试,提前知晓你的成绩

2016年上半年软考于5月21日结束了,考试完想知道结果的急切心理,几乎每个经历过上学时代的人都能深刻体验到.如果你想知道你考的怎么样,如果你想要提前知道你的成绩,如果你想知道你哪个地方出错了,如果你想知道你哪个地方知识掌握的不够想要更深入的去理解,那就来希赛软考学院吧!希赛软考学院提供2016年上半年软考真题在线模拟测试,有标准的参考答案,有专业老师的解析视频,让你提前知晓你的成绩,让你再次巩固学习. 希赛授课专家介绍 张友生,计算机应用技术博士,软考培训教程系列丛书主编,考试指定教材<系统分

Mock 模拟测试简介及 Mockito 使用入门

Mock 是什么 mock 测试就是在测试过程中,对于某些不容易构造或者不容易获取的对象,用一个虚拟的对象来创建以便测试的测试方法.这个虚拟的对象就是mock对象.mock对象就是真实对象在调试期间的代替品. 简单的看一张图 我们在测试类 A 时,类 A 需要调用类 B 和类 C,而类 B 和类 C 又需要调用其他类如 D.E.F 等,假如类 D.E.F 构造很耗时又或者调用很耗时的话是非常不便于测试的(比如是 DAO 类,每次访问数据库都很耗时).所以我们引入 Mock 对象. 如上图,我们将

asp.net中模拟测试smtp发邮件

最近在编程人生里要测试一个会员邮件的功能,就写了下面的代码. 在asp.net 中,有时要测试发信SMTP,但如果在单元测试中,如果没方便好用的 smtp怎么办,其实还是有办法模拟的,下面讲解下: 在web.config 中设置 <system.net>   <mailSettings>      <smtp deliveryMethod="SpecifiedPickupDirectory">          <specifiedPickup

2018冬令营模拟测试赛(三)

2018冬令营模拟测试赛(三) [Problem A]摧毁图状树 试题描述 输入 见"试题描述" 输出 见"试题描述" 输入示例 见"试题描述" 输出示例 见"试题描述" 数据规模及约定 见"试题描述" 题解 这题没想到贪心 QwQ,那就没戏了-- 贪心就是每次选择一个最深的且没有被覆盖的点向上覆盖 \(k\) 层,因为这个"最深的没有被覆盖的点"不可能再有其它点引出的链覆盖它了,而它又