/*
抢名额第一场 GG
"我什么都不会阿"
这场磕死在E题了
按说应该能想到费马小定理 毕竟p is a prime
别的队都过了 大家都比较熟悉的就只有这一个
然后还有I题一开始尺取有个思路,然后很快找出bug
这时没换思路而是补了一下这个bug 就加个if
然后疯狂wa4 策略不对
其实wa个几发就该意识到思路有问题了
但是还是一直怼 不合理
积累经验了就 下场注意
*/
/*
先看E题吧 打表猜测答案2^(2^n-n)%p
指数 不能mod 根据费马小定理 2^(p-1)%p==1
每p-1个2乘起来对答案没有贡献 所以指数%p-1
另外p==2的时候 2和p不互质 特判一下
*/
#include<iostream>
#define ll long long
using namespace std;
ll n,k,p,ans;
ll Mi(ll a,ll b,ll c){
if(b==)return ;ll res=Mi(a,b/,c);
res=res*res%c;if(b&)res=res*a%c;return res;
}
int main(){
cin>>n>>k>>p;ans=Mi(,(Mi(,n,p-)-n%(p-)+p-)%(p-),p);
if(k==)ans=(ans-+p)%p;if(p==)ans=+(k==);cout<<ans<<endl;return ;
}
/*
I题 根据题目的指引 应该是在线做 每次严格On
On的算法无非就是贪心尺取和单调队列
这题对于每个区间答案是r+l-1-(p[r]-p[l-1])+k-(p[r]-p[l-1])
pi是前缀1的个数 化简后 r-2p[r]+1+k+2p[l-1]-l
枚举r 维护合法的l的最优值 合法的l必须有 p[r]-p[l-1]<=k
一开始想的尺取,就是想找到每个合法的区间然后按上面的算一遍,但是这样会漏下一些
举个比方
111111111111111001111111111101111111111100111111111001111111111111100
8
9
这组 头指针和尾指针只会找合法的尽量长的区间,但是我们还有一种把0拿过来的操作,需要一些合法的比较短的
目前还没想到怎么改....
*/
#include<cstdio>
#include<cstring>
#include<iostream>
#define maxn 1000010
using namespace std;
int n,m,q[maxn],p[maxn],hea,tai,ans;
char s[maxn];
int main(){
scanf("%s%d",s+,&m);n=strlen(s+);
for(int i=;i<=n;i++)p[i]=p[i-]+s[i]-'';
while(m--){
int k;scanf("%d",&k);hea=tai=;ans=;
for(int i=;i<=n;i++){
while(hea<tai&&*p[q[tai]-]-q[tai]<=*p[i-]-i)tai--;
q[++tai]=i;
while(hea<tai&&p[i]-p[q[hea+]]>k)hea++;
ans=max(ans,i-*p[i]++k-q[hea+]+*p[q[hea+]-]);
}
printf("%d\n",min(ans,n-p[n]));
}
return ;
}

8.30 "我什么都不会"的更多相关文章

  1. 【面试必备】硬核!30 张图解 HTTP 常见的面试题

    每日一句英语学习,每天进步一点点: 前言 在面试过程中,HTTP 被提问的概率还是比较高的.小林我搜集了 5 大类 HTTP 面试常问的题目,同时这 5 大类题跟 HTTP 的发展和演变关联性是比较大 ...

  2. js中所有函数的参数(按值和按引用)都是按值传递的,怎么理解?

    我觉着我可能对这块有点误解,所以单独开个博说下自己的理解,当然是研究后的正解了. 1,参数传递是基本类型,看个例子: function addTen(num){ num += 10; return n ...

  3. 使用R画地图数据

    用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...

  4. Android压缩图片到100K以下并保持不失真的高效方法

    前言:目前一般手机的相机都能达到800万像素,像我的Galaxy Nexus才500万像素,拍摄的照片也有1.5M左右.这么大的照片上传到服务器,不仅浪费流量,同时还浪费时间. 在开发Android企 ...

  5. PHP_Bibel阅读笔记(二)——脸黑的一天(?一年)

    一早上起来把50包开了,一张橙卡...就问还有谁...........本命年啊,我去买红内裤还不行么.... 实时更新,老哥的号的30包什么都没有....不过中午又开了5包,皇帝,好评啊!!! 五.代 ...

  6. 我离baidu.com有几跳

    一.背景 最近,读了网易游戏面试经验(三) - cotyb - 博客园之后,自己尝试着在windows下tracert了一下baidu.com,结果如下图一所示,发现从tracert的结果看,似乎一直 ...

  7. javaWeb——图片验证

    publicvoid doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, ...

  8. tracert-命令小结

          前言:今天在阅读“Web性能权威指南”这本书的时候,发现 tracert 这个命令挺有意思的,在分析网络性能瓶颈的时候也能使用的到,在此就小记一笔以备后用. 1:作用 tracert 是一 ...

  9. 经典String str = new String("abc")内存分配问题

    出自:http://blog.csdn.net/ycwload/article/details/2650059 今天要找和存储管理相关的一些知识,网上搜了半天也没有找到完善的(30%的程度都不到),没 ...

随机推荐

  1. form表单清空、重置

    form_live为formID <input type="button" value="重置" onclick="$('#form_live' ...

  2. 【转】非常好的Java反射例子

    转自 http://www.douban.com/note/306848299/ 原文: 1.Java反射的概念 反射含义:可以获取正在运行的Java对象. 2.Java反射的功能 1)可以判断运行时 ...

  3. VMWare 支持的网络连接类型 (VMWare Virtual Network Connection Types)

  4. C++为什么抓不到除0错“异常”?

    http://blog.csdn.net/nanyu/article/details/6475555 有人问这个问题: try { std::cout << 10/0 << s ...

  5. CAD设置背景图片

    把图片作为背景图片可见但是不能编辑操作. 主要用到函数说明: _DMxDrawX::DrawImageToBackground 绘光栅图到背景.详细说明如下: 参数 说明 BSTR sFileName ...

  6. 关于vuex的理解

    刚开始学vue的时候,看到很多项目都有用vuex,抱着一种好奇的心态去看下vuex的官方文档,如下: Vuex官方文档 Vuex 是什么?Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式 ...

  7. Xcode git 忽略user interface state文件

    退出xcdoe, 打开终端(Terminal),进入到你的项目目录下 在终端输入如下代码 git rm --cached *.xcuserstate git commit -m "Remov ...

  8. JavaScript ES6 数组新方法 学习随笔

    JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...

  9. P2041 分裂游戏

    P2041 分裂游戏 手推$n=3$是无解的,推断$n>=3$是无解的 证明略,这是道结论题. #include<iostream> #include<cstdio> # ...

  10. TestNG参数化测试

    参数化有两种方法: 第一种:在xml文件中声明 第二种:用@DataProvider注解 先介绍第一种方法: ParameterTest类:用@Parameters({"name" ...