11.3 afternoon



迭代40
#include<cstdio>
#include<cstring>
using namespace std;
int n,sum,falg;
char s[],c[];
void Dfs(int now){
if(now==sum+){
int flag=;
for(int i=;i+sum-<=n;i++){
int f=;
for(int j=;j<=sum;j++)
if(c[j]!=s[i+j-]){
f=;break;
}
if(f==){//都一样
flag=;break;
}
}
if(flag==)falg=;return;
}
c[now]='A';Dfs(now+);
if(falg)return;c[now]=' ';
c[now]='B';Dfs(now+);
if(falg)return;c[now]=' ';
}
int main()
{
freopen("ab.in","r",stdin);
freopen("ab.out","w",stdout);
scanf("%s",s+);
n=strlen(s+);
for(sum=;sum<=;sum++){
Dfs();if(falg)break;
}
for(int i=;i<=sum;i++)
printf("%c",c[i]);
fclose(stdin);fclose(stdout);
return ;
}
位运算预处理
/*
答案很短 很短
直接搜 不过 检验的时候很慢...
预处理所有的子串 存好了就可以O(1)的检验了
因为只有AB 可以用位运算优化
*/
#include<cstdio>
#include<cmath>
#include<cstring>
#define maxn (1<<22)+10
using namespace std;
int n,m,f[maxn],sum,falg,ans;
char s[maxn];
void Dfs(int now,int x){
if(now==sum+){
if(f[x]==){
ans=x;falg=;
}
return;
}
Dfs(now+,x);if(falg)return;
Dfs(now+,x+(<<now-));if(falg)return;
}
int main()
{
freopen("ab.in","r",stdin);
freopen("ab.out","w",stdout);
scanf("%s",s);
n=strlen(s);m=log(n)/log()+;
for(int i=;i<n;i++){
int x=;
for(int j=;j<=m;j++){
if(i+j->n)break;
if(s[i+j-]=='B')
x+=(<<j-);
f[x+(<<j)]=;
}
}
for(sum=;sum<=m;sum++){
Dfs(,<<sum);if(falg)break;
}
for(int i=;i<sum;i++)
if(ans&(<<i))printf("B");
else printf("A");
fclose(stdin);fclose(stdout);
return ;
}


暴力40
#include<cstdio>
#include<iostream>
#define bas 10000000
#define maxn 1000010
using namespace std;
int p,a,b,pri[maxn],cnt,ans;
bool f[bas+];
void Get(){
for(int i=;i<=bas;i++){
if(f[i]==)pri[++cnt]=i;
for(int j=;j<=cnt;j++){
if(i*pri[j]>bas)break;
f[i*pri[j]]=;
if(i%pri[j]==)break;
}
}
}
int main()
{
freopen("prime.in","r",stdin);
freopen("prime.out","w",stdout);
cin>>p>>a>>b;
if(p==&&a==&&b==){
cout<<""<<endl;return ;
}
int L=max(a,p+);
int R=b;Get();
for(int k=L;k<=R;k++){
int x=k,falg=;
for(int i=;i<=cnt;i++){
int P=pri[i];
if(P*P>x)break;
if(x%P==){
while(x%P==)x/=P;
if(P>p)falg=;
}
if(x<=bas&&f[x]==&&x>p)falg=;
if(falg==)break;
}
if(x>p)falg=;ans+=falg;
}
cout<<ans<<endl;
fclose(stdin);fclose(stdout);
return ;
}
/*
求区间内有一个质因子比p大的数的个数
存在一个 不好判 正难则反 求全部<=p的数的个数
递推 定义状态 f[l][r][x]表示 l-r区间内 所有质因子<=p的数的个数
递推的话 就是 f[l][r][x]=f[l][r][x-1]+f[ l/x ][ r/x ][x];
还有几个边界条件 递推的话不会写顺序 写了搜索 状态太大存不下
索性不存了 嗯 本机测爆栈 不过答案应该问题不大
*/
#include<cstdio>
#include<cmath>
#include<algorithm>
#define N 1000000
using namespace std;
int L,R,p,prime[N/],num;
bool f[N+];
void Get(){
for(int i=;i<=N;i++){
if(f[i]==)prime[++num]=i;
for(int j=;j<=num;j++){
if(i*prime[j]>N)break;
f[i*prime[j]]=;
if(i%prime[j]==)break;
}
}
}
int Cal(int x){
int r=;
for(int i=;i<=num;i++){
if(prime[i]*prime[i]>x)break;
if(x%prime[i]==){
while(x%prime[i]==)x/=prime[i];
r=max(r,prime[i]);
}
}
return max(x,r);
}
int Dfs(int l,int r,int x){
if(l>r)return ;
if(x==)return l==;
if(r<=prime[x])return r-l+;
if(l==r)return Cal(r)<=prime[x];
return Dfs(l,r,x-)+Dfs((l-)/prime[x]+,r/prime[x],x);
}
int main()
{
freopen("prime.in","r",stdin);
freopen("prime.out","w",stdout);
scanf("%d%d%d",&p,&L,&R);Get();
int pos=upper_bound(prime+,prime++num,p)-prime-;
printf("%d\n",R-L+-Dfs(L,R,pos));
fclose(stdin);fclose(stdout);
return ;
}




暂无正解
11.3 afternoon的更多相关文章
- 11.2 afternoon
#include<iostream> #include<cstdio> #define ll long long using namespace std; ll n,ans; ...
- 11.1 afternoon
幸运数字(number)Time Limit:1000ms Memory Limit:64MB题目描述LYK 最近运气很差,例如在 NOIP 初赛中仅仅考了 90 分,刚刚卡进复赛,于是它决定使用一些 ...
- 地区sql
/*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...
- English trip -- VC(情景课) 6 C Is your class at 11:00? 你的课11点开始吗?
Grammar focus 语法点 Is your class at 11:00 ? # 带be动词的一般疑问句 Yes, it is No, it isn't 相当于 is not Pra ...
- 清北学堂—2020.1提高储备营—Day 2 afternoon(线段树、树状数组)
qbxt Day 2 afternoon --2020.1.18 济南 主讲:李佳实 目录一览 1.线段树 2.二叉搜索树(略过) 3.树状数组 总知识点:基础数据结构(本人初学感觉好难) 一.线段树 ...
- WinForm 天猫2013双11自动抢红包【源码下载】
1. 正确获取红包流程 2. 软件介绍 2.1 效果图: 2.2 功能介绍 2.2.1 账号登录 页面开始时,会载入这个网站:https://login.taobao.com/member/login ...
- C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)
#include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...
- CSS垂直居中的11种实现方式
今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...
- C++ 11 多线程--线程管理
说到多线程编程,那么就不得不提并行和并发,多线程是实现并发(并行)的一种手段.并行是指两个或多个独立的操作同时进行.注意这里是同时进行,区别于并发,在一个时间段内执行多个操作.在单核时代,多个线程是并 ...
随机推荐
- E: Write error - write (28 No space left on device)
1:在终端中运行cd命令,提示: e: Write error - write (28 No space left on device) E: Cant mmap an empty file 2:使用 ...
- 如何从 Xcode 控制台输出 JavaScript 的 log?
调试 UIWebView 中的 JavaScript 一直以来都是很痛苦的一件事.通常我们会通过下面的方法调试 HTML 和 JavaScript. 1.第一种,使用桌面浏览器调试.大多数现代浏览器都 ...
- Java 8:如何使用流方式查询数据库?
Speedment 是使用 ORM 方式操作数据库的一种选择,以前我们需要100行操作数据库的 Java 代码,在 Java 8中,可能只需要一行代码. 在90年代末,我使用 Java 开发数据库应用 ...
- 【HDOJ】2966 In case of failure
KD树,这东西其实在ML经常被使用,不过30s的时限还是第一次见. /* 2966 */ #include <iostream> #include <string> #incl ...
- bzoj1455
学习了一下可合并堆的一种写法——左偏树感觉左偏树是一种类似启发式的方法学习左偏树后这题就水过去了 ..] of longint; v:..] of boolean; i,n,m,x,y,f:longi ...
- Web Service和ISAPI的区别与联系 转
Web Service和ISAPI的区别与联系 1.Web Service 是一种新的web应用程序分支,他们是自包含.自描述.模块化的应用,可以发布.定位.通过web调用.Web Service ...
- HDU-1236 排名
http://acm.hdu.edu.cn/showproblem.php?pid=1236 学会怎样按字典序排序的模板. 排名 Time Limit: 2000/1000 MS (Java/Othe ...
- Windows玩转Docker(一):安装
Docker官网地址: http://www.docker.com/ 本文参照site: https://docs.docker.com/windows/ Docker 项目的目标是实现轻量级的操作系 ...
- 三大跨平台网盘--ubuntu one
背景介绍 Ubuntu One是由Ubuntu背后的公司Canonical所推出的一项网络服务.该服务能够存储你的文件,并允许你在多台电脑上同步,还可以与好友分享这些文件. 准备工作 帐号--ubun ...
- Installing scikit-learn
Installing scikit-learn http://scikit-learn.org/stable/install.html Installing scikit-learn There ar ...