/*
抢名额第一场 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. 更新html技术比较

    document.write() document对象的write方法可以很简单的向页面的源代码中添加内容,不过不推荐使用. 优点:可以快速简单的让初学者理解如何向页面添加内容: 缺点: 只有页面初始 ...

  2. MFC_2.1使用单选和多选框

    使用单选和多选框 单选 1.拖控件 设置名字,CTRL+D设置顺序,属性设置第一个GROUP为TRUE: 2.设置第一个按钮绑定变量为 值 INT型 名称m_RadioIndxe; 3.设置单击响应内 ...

  3. 在TWaver的Tree节点上画线

    论坛上有同学提出如何在tree上画引导线,之前我们Flex已经实现此功能,现在最新版的HTML5也将添加此功能.先看看效果:详细的使用方法可以参考我们开发手册中可视化视图组件#Tree引导线一章,下面 ...

  4. 巧用TWaver 3D 矢量图形功能

    的确,提起TWaver,大家想到的首先是“电信拓扑图组件”.其实,由于其灵活的MVC架构.矢量化设计.方便定制等特点,TWaver可以做的还有很多.例如房地产行业常见到的“户型图”. 户型推荐是销售接 ...

  5. HTML5网页如何调用浏览器APP的微信分享功能?

    if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Al ...

  6. P1091 合唱队形题解(洛谷,动态规划LIS,单调队列)

    先上题目 P1091 合唱队形(点击打开题目) 题目解读: 1.由T1​<...<Ti​和Ti​>Ti+1​>…>TK​可以看出这题涉及最长上升子序列和最长下降子序列 2 ...

  7. UVA - 10603 Fill(BFS求最小值问题)

    题目: 给出三个杯子(没有刻度线)的容量,起初之后第三个杯子是满的,其他的两个杯子是空的,容量分别是a.b.c.问最少需要倒多少升水才能让某一个杯子中的水有d升?如果不能恰好做到d升,就让某一个杯子里 ...

  8. 每日命令:(2)cd

    Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的. 所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1.  ...

  9. Haoop Mapreduce 中的FileOutputFormat类

    FileOutputFormat类继承OutputFormat,需要提供所有基于文件的OutputFormat实现的公共功能,主要有以下两点: (1)实现checkOutputSpecs方法 chec ...

  10. iframe使用大全

    <iframe src=”you page’s url” width=”100″ height=”30″ frameborder=”no” border=”0″ marginwidth=”0″ ...