前言

T1传送门T2传送门T3传送门T4传送门T5传送门T6传送门

T6放弃,T4博客在这里

考场310的菜鸡瑟瑟发抖


洛谷 6101 [EER2]出言不逊

分析

设字符串长度为\(Len\)

每次显然我会挑长度最大的复制一倍,那么最大的复制一倍后还是最大的

设最大的长度为\(x\),那么显然要满足一个不等式

\(Len+\sum_{j=1}^{k}2^jx\geq L\)

\(k\)也就是答案,那不就是暴力吗

(唯一比较坑的就是\(\text{unsigned long long}\))


代码

#include <cstdio>
#include <cctype>
#define rr register
using namespace std;
int cnt[62],len,ans; unsigned long long L,big;
signed main(){
rr char c=getchar();
while (!isalnum(c)) c=getchar();
while (isalnum(c)){
if (isdigit(c)) ++cnt[c^48];
else if (islower(c)) ++cnt[c-87];
else ++cnt[c-29];
c=getchar(),++len;
}
scanf("%llu",&L);
for (rr int i=0;i<62;++i) big=big<cnt[i]?cnt[i]:big;
while (L>len){
++ans;
if (L<big) break;//变成负数会溢出
L-=big,big<<=1;
}
return !printf("%d",ans);
}

洛谷 6102 [EER2]谔运算

分析

考虑怎样能对答案产生贡献

首先位运算显然可以拆位算

可以统计\(cnt[x]\)表示二进制第\(x\)位为1的数的个数

\(\text{xor}\)为1当且仅当一个为0一个为1

那么分类讨论

若\(\text{or}=1,\text{and}=0\)

\(\text{or}\)考虑容斥,用总答案减去不合法的

\(n^2-(n-cnt_x)^2=(n*2-cnt_x)*cnt_x\)

\(\text{and}=0\),同样的道理

\(n^2-cnt_x^2=(n+cnt_x)*(n-cnt_x)\)

若\(\text{or}=0,\text{and}=1\)

\((n-cnt_x)^2+cnt_x^2\)

两种答案加起来,再拆开式子就是代码所示


代码

#include <cstdio>
#include <cctype>
#define rr register
using namespace std;
typedef unsigned uit;
uit n,cnt[32],ans;
inline uit iut(){
rr uit ans=0; rr char c=getchar();
while (!isdigit(c)) c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans;
}
signed main(){
n=iut();
for (rr uit i=1;i<=n;++i)
for (rr uit t=0,x=iut();x;x>>=1)
cnt[t++]+=x&1;
for (rr uit i=0,t=1;i<32;++i,t<<=1)
ans+=t*cnt[i]*(n-cnt[i])*2*(cnt[i]*n-cnt[i]*cnt[i]+n*n);
return !printf("%u",ans);
}

洛谷 6103 [EER2] 直接自然溢出啥事没有

分析

按照题意dp可以获零分的高分

为什么呢

考虑函数变成值有两种方式

所以要去重

但是不算哪个呢

当然是不算函数变成值啦

WA多次


代码

#include <cstdio>
#include <cctype>
#define rr register
using namespace std;
typedef unsigned long long ull;
ull f[10011][5],n;
signed main(){
scanf("%llu",&n);
f[0][0]=f[1][0]=f[1][2]=1;
for (rr int i=2;i<=n;++i){
f[i][1]=f[i-2][0];
f[i][2]=f[i][1]+f[i-1][4];
f[i][3]=f[i-2][3]+f[i-2][1]+(i>4)*f[i-4][1];
f[i][4]=f[i][3]+f[i-2][4];
for (rr int j=0;j<i;++j)
f[i][0]+=f[j][0]*f[i-j][2];
}
return !printf("%llu",f[n][0]);
}

洛谷 6105 [Ynoi2010] iepsmCmq

分析

分类讨论,如果\(C<i+j<2C\),显然只需要取最大值和次大值加起来

否则\(0<i+j<C\)那么用一个\(\text{STL::multiset}\)

特别注意找到的答案需要判断与之前的配对答案关系


代码

#include <cstdio>
#include <cctype>
#include <set>
#define rr register
using namespace std;
int mod,tot,Q; multiset<int>uk,S;
multiset<int>::iterator it;
inline signed iut(){
rr int ans=0,f=1; rr char c=getchar();
while (!isdigit(c)) f=(c=='-')?-f:f,c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans*f;
}
inline void print(int ans){
if (ans>9) print(ans/10);
putchar(ans%10+48);
}
inline signed max(int a,int b){return a>b?a:b;}
inline signed Get(int x,bool nx){
if (x==-1) return -1;
it=uk.lower_bound(mod-x);
if (it==uk.begin()) return -1; --it;
if (nx&&*it==x&&uk.count(x)==1)
return it==uk.begin()?-1:*--it;
else return *it;
}
inline void Add(int x){
if (++tot==1) {uk.insert(x); return;}
rr int fi=Get(x,0),se=Get(fi,1),th=Get(se,1);
if (fi!=-1&&se<x){
if (se!=-1&&fi==th) S.erase(S.find(fi+se));
S.insert(x+fi);
}
uk.insert(x);
}
inline void Del(int x){
uk.erase(uk.find(x)),--tot;
if (!tot) return;
rr int fi=Get(x,0),se=Get(fi,1),th=Get(se,1);
if (fi!=-1&&se<x){
if (se!=-1&&fi==th) S.insert(fi+se);
S.erase(S.find(x+fi));
}
}
inline signed query(){
rr int ans=S.empty()?0:(*--S.end());
it=--uk.end();
if (uk.count(*it)>1) ans=max(ans,*it*2%mod);
else {
rr int t=*it; --it;
ans=max(ans,(*it+t)%mod);
}
return ans;
}
signed main(){
Q=iut(),mod=iut();
for (rr int opt,x,lans=0;Q;putchar(10),--Q){
opt=iut(),x=(iut()^lans)%mod;
if (opt==1) Add(x); else Del(x);
if (tot>1) print(lans=query());
else putchar(69),putchar(69),lans=0;
}
return 0;
}

【LGR-069】洛谷 2 月月赛 II & EE Round 2的更多相关文章

  1. 【LGR-061】洛谷10月月赛 II & X Round 4 Div.1&Div 2

    X Round的题目质量还是一如既往的高 然而每次周末我都要写作业没法用心打233主要是被陈指导放了鸽子 占坑代填(最近坑开的有点多)

  2. 【CSGRound2】逐梦者的初心(洛谷11月月赛 II & CSG Round 2 T3)

    题目描述# 给你一个长度为\(n\)的字符串\(S\). 有\(m\)个操作,保证\(m≤n\). 你还有一个字符串\(T\),刚开始为空. 共有两种操作. 第一种操作: 在字符串\(T\)的末尾加上 ...

  3. 【LGR-054】洛谷10月月赛II

    [LGR-054]洛谷10月月赛II luogu 成功咕掉Codeforces Round #517的后果就是,我\(\mbox{T4}\)依旧没有写出来.\(\mbox{GG}\) . 浏览器 \( ...

  4. 洛谷10月月赛II题解

    [咻咻咻] (https://www.luogu.org/contestnew/show/11616) 令人窒息的洛谷月赛,即将参加NOIp的我竟然只会一道题(也可以说一道也不会),最终145的我只能 ...

  5. 【LGR-052】洛谷9月月赛II(加赛)

    题解: 没打... ab题满世界都过了应该没什么意思 c题是个比较有意思的思维题(先看了题解才会的...) 我们考虑这么一件事情 没钥匙的人出门后 门一定是开着的 他进来的时候,门一定是开着的 其他时 ...

  6. 洛谷9月月赛II 赛后瞎写

    看错比赛时间了....结果发现的时候已经开始了半个小时,并且当时正准备睡午觉qwq 于是就水了个t1就 去睡 跑了 T2 写着写着然后看了一发评讲被辣鸡思路给绕了进去最后发现自己宛若一个智障 类似桶的 ...

  7. 洛谷 4933 洛谷10月月赛II T2 大师

    [题解] f[i][j]表示最后一个数为h[i],公差为j的等差数列的个数.n方枚举最后一个数和倒数第二个数转移即可.注意公差可能为负数,需要移动为正数再作为下标. #include<cstdi ...

  8. 洛谷 4932 洛谷10月月赛II T1 浏览器

    [题解] x xor y的结果在二进制下有奇数个1,等价于x与y在二进制下的1的个数之和为奇数,因为x xor y减少的1的个数一定是偶数(两个数这一位都为1,xor的结果为0,减少了2个1) 那么答 ...

  9. 洛谷10月月赛II

    #A: P4924 [1007]魔法少女小Scarlet 这道题考了矩阵旋转 其实很考验推公式的能力和代码能力 这里有个小技巧 可以设(x, y)为原点,然后去推公式,然后实际操作中横坐标加上x,纵坐 ...

  10. [LGR-054]洛谷10月月赛II

    浏览器 结论popcnt(x^y)和popcnt(x)+popcnt(y)的奇偶性相同. 然后就是popcnt为奇数的乘为偶数的.预处理一下\(2^{16}\)次方以内的popcnt,直接\(O(1) ...

随机推荐

  1. [WEB安全] CSRF攻击和防御

    一.什么是CSRF 跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或 ...

  2. 命令行解析parse.parse_know_args()

    简介 在接受到多余的命令行参数时不报错,只把第一个参数作为当前使用的命令参数, 剩余部分留给其它程序使用,返回一个tuple类型的命名空间和一个保存着余下的命令行字符的list 示例 import a ...

  3. 【八股cover#3】计网 Q&A与知识点

    计网知识点Q&A 简历cover 1.TCP/IP网络模型 网络模型 ​ TCP/IP 协议族,它是一个分层.多协议的通信体系. ​ TCP/IP协议族是一个四层协议系统,自底而上分别是数据链 ...

  4. 【Azure 应用服务】在Azure Funciton中使用Powershell脚本函数,需要存储一些变量值如何解决?

    问题描述 使用Azure Function创建Powershell脚本来执行函数,在使用中需要存储一些不重要的参数.一般情况,存储的问题都是交给DB,Storage等来解决.但是有没有一种简单的办法呢 ...

  5. .Net Core中使用DiagnosticSource进行日志记录

    System.Diagnostics.DiagnosticSource 是一个可以对代码进行检测的模块,可以丰富地记录程序中地日志,包括可序列化的类型(例如 HttpResponseMessage 或 ...

  6. 3 - 任务调度算法 & 同步与互斥 &队列

    之前的都是按照优先级不同允许抢占(不讲道理),不管你在做什么,轮到优先级最高的任务,直接抢占执行 怎样才能讲道理呢?稍微等等嘛,等我做完活你再做   1 支持抢占,0不支持抢占  同优先级任务是否交替 ...

  7. Android 开发day1

    下载了安卓开发软件 Android studio 下载过程中遇到了,C盘默认安装路径不匹配问题,因为我的系统文件是中文的,软件是国外的软件,导致了他不让我安装,我还是最后在C盘创建了一个文件后,直接安 ...

  8. 学会Promise,看这里!!!

    前言 众所周知,在JavaScript的世界中,代码都是单线程执行的.由于这个原因,JavaScript中的耗时操作,如网络操作.浏览器事件等,都需要异步执行.这也导致在JavaScript中异步操作 ...

  9. [深度学习] 计算机视觉低代码工具Supervision库使用指北

    Supervision库是一款出色的Python计算机视觉低代码工具,其设计初衷在于为用户提供一个便捷且高效的接口,用以处理数据集以及直观地展示检测结果.Supervision库的官方开源仓库地址为: ...

  10. vue2(脚手架、组件)

    2.1 脚手架 使用前置: 第一步(没有安装过的执行):全局安装 @vue/cli npm install -g @vue/cli 第二步:切换到要创建项目的目录,然后使用命令创建项目 vue cre ...