暑假集训笔记

Problem - B - Codeforces

这题看了好久,一直没思路..也可能是早上来没睡醒的原因吧.有点困..

昨天晚上12点睡的,然后早上直接睡到7.48....真的6啊

话说这题真有点猜的成分,

先说我的思路:一开始和的奇偶

如果为偶数:那么分的所有部分的和一定都为偶数才有利

如果为奇数:那么分的所有部分的和一定为奇数才对答案有利

但是这个奇数和和偶数和非常难找....

(蚌埠住了...今天出了百度之星成绩极其的拉跨.....感觉比赛的时候感觉自己啥也不会....我是菜鸡..,感觉自己还是有实力的,但就是自己暑假集训的状态极其的差啊!!!)

正解:

要使分裂的部分的最大公约数最大,分裂的部分一定为2个

证明如下:

设如果k大于2的话,答案为ans=gcd(b1,b2,b3...bk),因为b1和b2一定为ans的倍数,并且a1+a2也一定为ans的倍数且不会使答案更坏

所以gcd(b1+b2,b3,b4,bk)一定优于gcd(b1,b2,b3,b4,bk)

Contest Login

昨天航电的一道博弈论题目 ,昨天做的时候就感觉没有啥思路...今天也没啥思路..队内大腿队友还是强啊!!

正解:设现在x先手

1.如果两边都为!x,那么x输

2.如果两边为!x和x,那么x只能选x,x不具有主动权,两者向内推进

3.如果两边为x和x,那么x可以选任意一边,!x只能跟着x操作,即x具有主动权,可以发现x胜利的话,必须至少有2个连续的x,还有我们需要特判下出现2个!x!x的情况(此情况可能是平局!!)比如字符串为010101101010,从左到右的话,0在7位置受阻,从右到左的话,0在6位置受阻,此时为平局!!

#include <cstdio>
#include <cstring>
#include<iostream>
using namespace std;
const int N = 1e6 + 2;int t, n, l, r, now;
char s[N];void firstchk() {while(l < r && s[l] != s[r]) {if(s[l] == now)l++;elser--;now ^= 1;}if(l == r && s[l] == now)l++;
}int chkl(int n) {for (int i = l; i <= r; i++) {if(n != s[i])return i;n ^= 1;}return -1;
}int chkr(int n) {for (int i = r; i >= l; i--) {if(n != s[i])return i;n^= 1;}return -1;
}int main() {scanf("%d", &t);while(t--) {now = 0;scanf("%d%s", &n, s + 1);for (int i = 1; i <= n; i++){s[i] = s[i]&1;}    l = 1, r = n;firstchk();if(l > r) {puts("-1");continue;}if(s[l] != now) {printf("%d\n", now ^ 1);continue;}int lpos = chkl(now);int rpos = chkr(now);if(lpos != -1 && s[lpos] == now || rpos != -1 && s[rpos] == now)printf("%d\n", now);else if(rpos + 1 == lpos || lpos == -1)puts("-1");elseprintf("%d\n", s[lpos]);}return 0;
}

 这个好像将0和1的字符可以直接和(0和1)比较

 for (int i = 1; i <= n; i++){s[i] = s[i]&1;}    

今天下午又刷了一套小白月赛的题目,感觉题目质量还是很高的!

登录—专业IT笔试面试备考平台_牛客网

这题直接set+二分就出来了,但是tm的题目有毒啊!!

必须关闭网络流并且不能用endl!!不然我早就过了!!

登录—专业IT笔试面试备考平台_牛客网

一道博弈论的题目...比赛时候没有做出来,自己太菜了....

比赛结束后一共过了500多个人....

感觉还是自己太菜了....

比赛的时候没太有思路,就开始乱想了....

看了题解感觉确实牛..

考察点:思维,博弈,对称策略(模拟棋)

1.给带的a,b2个数,如果a,b的最小值模3==0,那么后手赢

证明如下:

假设给定 9 11,无论先手怎样操作,后手都可以根据先手下模拟棋子,

将其变为6   8,然后循环,最后先手得到0 2,先手输

2.如果a,b的最小值模3!=0,如果模数为1,并且a==b,那么后手赢

证明如下:

给定 10 10,设最小值为第一位,第一轮先手 9  8,(此时最小值位置发生改变)第二轮后手可以将其变成 8 6,然后再根据先手下模拟棋,

后手赢

3.其他情况先手赢

证明(a=b&&min(a,b)%3==2)先手赢

证明如下:

给定11 11,第一轮操作为 9 10,后手无论如何也不能改变最小值的位置

然后先手可以根据后手下模拟棋

所以先手赢

#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<queue>
#include<stack>
#include<deque>
#include<vector>
#include<map>
#include<set>
#include <utility>
#include <list>
using namespace std;
typedef  long  long ll ;
typedef  unsigned long  long ull ;
#define pii pair<int,int>
const int inf = 0x3f3f3f3f;//106110956
inline int read(){int x = 0, f = 1;char ch = getchar();while(ch < '0' || ch > '9'){if (ch == '-')f = -1;ch = getchar();}while(ch >= '0' && ch <= '9'){x = (x<<1) + (x<<3) + (ch^48);ch = getchar();}return x * f;
}
void print(__int128 num) {if(num) {print(num/10);putchar(num%10+'0');}
}
int t;
int main(){scanf("%d",&t);while(t--){ll a,b;scanf("%lld%lld",&a,&b);if(a==1&&b==1){printf("niumei\n");continue;}if(a<=2||b<=2){printf("niuniu\n");continue;}ll c=min(a,b);int r=c%3;if(r==0){printf("niumei\n");}else{if(r==1&&a==b){printf("niumei\n");}else{printf("niuniu\n");}}}return 0;
}

登录—专业IT笔试面试备考平台_牛客网

一道感觉比较难的构造吧...

我想了想,没有想到如何分块的方法..

比如54321  987 10 11 12 13 14

然后看了题解感觉挺简单的...
我们设f[x]为x对x-1 x-2 x-3 x-4 3 2 1 的贡献,显而易见f[x]=log2(x-1)+1

然后我们就可以我们可以以O(n)统计每一个的f[i],如果总的f[i]和<k,那么无解,等于k一定有解

,现在就是k<sum是否一定有解..

答案是一定的..(贪心)

我们可以构造下降+上升的一段

比如7 6 5  3 1 2 4,这一段的贡献总和为f[7]+f[6]+f[5]+f[3]

如果当前的f[i]<=k我们就然k-f[i]

for(int i=n;i>=1;i--){if(f[i]<=k){a.push_back(i);k=k-f[i];}else{b.push_back(i);}}
#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<queue>
#include<stack>
#include<deque>
#include<vector>
#include<map>
#include<set>
#include <utility>
#include <list>
using namespace std;
typedef  long  long ll ;
typedef  unsigned long  long ull ;
#define pii pair<int,int>
const int inf = 0x3f3f3f3f;//106110956
inline int read(){int x = 0, f = 1;char ch = getchar();while(ch < '0' || ch > '9'){if (ch == '-')f = -1;ch = getchar();}while(ch >= '0' && ch <= '9'){x = (x<<1) + (x<<3) + (ch^48);ch = getchar();}return x * f;
}
void print(__int128 num) {if(num) {print(num/10);putchar(num%10+'0');}
}
int n,k;
ll f[1000006];
ll sum[1000006];
vector<int>a,b;
int main(){scanf("%d%d",&n,&k);f[1]=0;for(int i=2;i<=n;i++){f[i]=log2(i-1)+1;}for(int i=1;i<=n;i++){sum[i]=sum[i-1]+f[i];}if(sum[n]<k){printf("-1\n");return 0;}for(int i=n;i>=1;i--){if(f[i]<=k){a.push_back(i);k=k-f[i];}else{b.push_back(i);}}if(k){printf("-1\n");return 0;}reverse(b.begin(),b.end());for(int i=0;i<a.size();i++)cout<<a[i]<<" ";for(int i=0;i<b.size();i++)cout<<b[i]<<" ";printf("\n");return  0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/32479.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

构建 LVS-DR 群集、配置nginx负载均衡。

目录 一、基于 CentOS 7 构建 LVS-DR 群集 1、准备四台虚拟机 2、配置负载调度器&#xff08;192.168.2.130&#xff09; 3、部署共享存储&#xff08;192.168.2.133&#xff09; 4、配置两个Web服务器&#xff08;192.168.2.131、192.168.2.132&#xff09; 测试集群 二…

Location匹配与Rewrite重写

一、常见的Nginx正则表达式 ^ &#xff1a;匹配输入字符串的起始位置 $ &#xff1a;匹配输入字符串的结束位置 * &#xff1a;匹配前面的字符零次或多次。如“ol*”能匹配“o”及“ol”、“oll”&#xff1a;匹配前面的字符一次或多次。如“ol”能匹配“ol”及“oll”、“oll…

jQuery练习题

目录 1.制作QQ简易聊天框 2.制作课工场论坛发帖 1.制作QQ简易聊天框 <script>$(function () {var touxiang new Array("images/head01.jpg","images/head02.jpg","images/head03.jpg");var names new Array("时尚伊人", &qu…

nvidia驱动更新导致驱动版本不匹配

关于nvidia驱动自动更新&#xff1a; 和这篇描述类似&#xff1a;https://blog.csdn.net/weixin_43568307/article/details/128187469 记得记录原先版本 sudo dpkg-reconfigure unattended-upgrades 关闭一下自动更新。 当前主机做好快照备份&#xff0c;重新安装之前的驱…

Django路由Router

文章目录 一、路由router路由匹配命名空间反向解析 二、实践创建用户模型Model添加子路由 - 创建用户首页页面跳转 - 使用反向解析和命名空间1. 不使用命名空间的效果2. 使用命名空间的效果 用户详情页面跳转 - 路由传参路由传递多个参数re_path 以前写法,了解即可重定向Redire…

全景图!最近20年,自然语言处理领域的发展

夕小瑶科技说 原创 作者 | 小戏、Python 最近这几年&#xff0c;大家一起共同经历了 NLP&#xff08;写一下全称&#xff0c;Natural Language Processing&#xff09; 这一领域井喷式的发展&#xff0c;从 Word2Vec 到大量使用 RNN、LSTM&#xff0c;从 seq2seq 再到 Attenti…

Cocos Creator的rigidBody.applyForce变成了滚动

序: 1、原因是因为没有调整摩擦系数physics-material 2、摩擦系数调整你要在你的节点 一个物理材料才会有的&#xff0c;教程没跳过去了所以没有 3、扩展阅读第一话&#xff1a;入行程序员的一波三折 最终效果&#xff1a; git录屏会卡&#xff0c;其实过程很平滑 正…

vue项目切换页面白屏不显示解决方案

问题描述 1、页面切换后白屏&#xff0c;同时切换回上一个页面同样白屏 2、刷新后正常显示 3、有警告&#xff1a;Component inside <Transition> renders non-element root node that cannot be animated 解决方法 <Transition>中的组件呈现不能动画化的非元素…

安卓如何快速定位native内存泄露。

步骤1&#xff09;cat /proc/pid/status,观察下面俩个指标 RssAnon: 5300 kB //一直增大说明匿名映射的内存增大&#xff0c;malloc本质就是调用匿名映射分 配内存 RssFile: 26884 kB //文件句柄泄露&#…

mysql之存储过程

目录 一、mysql之存储过程的相关知识 1&#xff09;存储过程的概念 2&#xff09;存储过程的优点 二、存储过程的管理 1&#xff09;创建存储过程 基本格式&#xff1a; 2&#xff09;调用存储过程 格式&#xff1a; call 存储过程名称 3&#xff09;查看存储过程 查…

TVS二极管失效分析

摘要&#xff1a;常用电路保护器件的主要失效模式为短路&#xff0c;瞬变电压抑制器(TvS)亦不例外。TvS 一旦发生短路失效&#xff0c;释放出的高能量常常会将保护的电子设备损坏&#xff0e;这是 TvS 生产厂家和使用方都想极力减少或避免的情况。通过对 TVS 筛选和使用短路失效…

【MFC】11.MFC文档和单文档架构-笔记

MFC文档 之前我们在写字符雨的时候&#xff0c;将数据都存储到了视图类中&#xff0c;这是不合理的&#xff0c;视图类只负责显示&#xff0c;不应该存储任何数据 文档&#xff1a;专门存储数据用的 CDocument 文档与视图的关系&#xff1a; 创建一个文档类 单文档四个类都…

浅谈JavaScript编程过程function函数的几种编程风格

作者来源&#xff1a;https://ost.51cto.com/user/posts/16066420 声明 JavaScript编程过程中函数是一个很有趣的点&#xff0c;JavaScript的函数与其他如:C、Java等语言有很大区别。对于从别的编程语言转来的同学可能会存在一定的“坑”&#xff0c;如function函数与>函数…

vue3 vite gzip

1、首先前端项目里安装 vite-plugin-compression 插件 yarn add vite-plugin-compression 2、在 vite.config.js 中 import vue from vitejs/plugin-vue import { defineConfig } from vite import compressPlugin from vite-plugin-compressionexport default defineConf…

C语言 指针的运算

目录 一、介绍 二、指针 整数 、指针 - 整数 二、指针 - 指针 四、指针的关系运算 一、介绍 在C语言中&#xff0c;指针的运算分为三类 1、指针 整数 、指针 - 整数2、指针 - 指针3、指针的关系运算 二、指针 整数 、指针 - 整数 因为数组在…

桂林小程序https证书

现在很多APP都相继推出了小程序&#xff0c;比如微信小程序、百度小程序等&#xff0c;这些小程序的功能也越来越复杂&#xff0c;不可避免的和网站一样会传输数据&#xff0c;因此小程序想要上线就要保证信息传输的安全性&#xff0c;也就是说各种类型的小程序也需要部署https…

第一次PR经历

第一次PR测试地址&#xff1a;https://github.com/firstcontributions/first-contributions说明文档&#xff1a; https://github.com/firstcontributions/first-contributions/blob/main/translations/README.zh-cn.md

【2023 华数杯全国大学生数学建模竞赛】 B题 不透明制品最优配色方案设计 39页论文及python代码

【2023 华数杯全国大学生数学建模竞赛】 B题 不透明制品最优配色方案设计 39页论文及python代码 1 题目 B 题 不透明制品最优配色方案设计 日常生活中五彩缤纷的不透明有色制品是由着色剂染色而成。因此&#xff0c;不透明制品的配色对其外观美观度和市场竞争力起着重要作用。…

802.11K/V/R协议介绍

802.11K/V/R协议介绍 1.传统无线漫游介绍 1.1 什么是无线漫游 一台无线终端备&#xff08;STA&#xff09;通过连接Wi-Fi获取上网体验&#xff0c;Wi-Fi名称&#xff08;又称为SSID&#xff09;是由无线接入网&#xff08;AP&#xff09;提供的&#xff0c;因为一台AP设备的覆…

idea如何开启远程调试

一&#xff1a;打包需要部署的jar包上传到服务器 二&#xff1a;服务器&#xff08;开启远程调试接口&#xff09; nohup java -jar -Xdebug -Xrunjdwp:transportdt_socket,servery,suspendn,address8453 xxx.jar > xxx.log 2>&1 & 三&#xff1a; idea配置rem…