迭代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的更多相关文章

  1. 11.2 afternoon

    #include<iostream> #include<cstdio> #define ll long long using namespace std; ll n,ans; ...

  2. 11.1 afternoon

    幸运数字(number)Time Limit:1000ms Memory Limit:64MB题目描述LYK 最近运气很差,例如在 NOIP 初赛中仅仅考了 90 分,刚刚卡进复赛,于是它决定使用一些 ...

  3. 地区sql

    /*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...

  4. 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 ...

  5. 清北学堂—2020.1提高储备营—Day 2 afternoon(线段树、树状数组)

    qbxt Day 2 afternoon --2020.1.18 济南 主讲:李佳实 目录一览 1.线段树 2.二叉搜索树(略过) 3.树状数组 总知识点:基础数据结构(本人初学感觉好难) 一.线段树 ...

  6. WinForm 天猫2013双11自动抢红包【源码下载】

    1. 正确获取红包流程 2. 软件介绍 2.1 效果图: 2.2 功能介绍 2.2.1 账号登录 页面开始时,会载入这个网站:https://login.taobao.com/member/login ...

  7. C++11特性——变量部分(using类型别名、constexpr常量表达式、auto类型推断、nullptr空指针等)

    #include <iostream> using namespace std; int main() { using cullptr = const unsigned long long ...

  8. CSS垂直居中的11种实现方式

    今天是邓呆呆球衣退役的日子,在这个颇具纪念意义的日子里我写下自己的第一篇博客,还望前辈们多多提携,多多指教! 接下来,就进入正文,来说说关于垂直居中的事.(以下这11种垂直居中的实现方式均为笔者在日常 ...

  9. C++ 11 多线程--线程管理

    说到多线程编程,那么就不得不提并行和并发,多线程是实现并发(并行)的一种手段.并行是指两个或多个独立的操作同时进行.注意这里是同时进行,区别于并发,在一个时间段内执行多个操作.在单核时代,多个线程是并 ...

随机推荐

  1. Linux内核监控模块-2-系统调用表地址的获取(Linux内核版本3.13)

    那么在Linux内核2.6之后,不能直接导出sys_call_table的地址后,我们要如何获得系统调用表的地址,从而实现系统调用的截获呢. 先贴上我实现好的代码,然后再来讲解吧. modu.c #i ...

  2. PLSQL Developer激活码

    License Number:999 Password:xs374ca Product Code:ljkfuhjpccxt8xq2re37n97595ldmv9kch Serial Number:30 ...

  3. HNOI2015滚粗记

    HNOI2015滚粗记 经过两天的苦战,艰难的HNOI终于结束了.感觉这次HNOI自己还是收获了许多. \(Day1\)打的很是艰难,题目一下就有种晕头转向的感觉.开场\(20min\)自己还在读题时 ...

  4. Phonegap 3.0 拍照 出错的说明

    在官方3.0 提供的摄像机操作例子是不成功的,因为该例子没有说明摄像机操作需要添加Plugin. 添加插件方法(安装cordova3.0时必须使用官方命令行方式,通过nodejs安装,且装上了git) ...

  5. rm加转义很危险

    rm -r 想转义一个空格字符,转得不对 -r, -R, --recursive 递归删除目录及其内容 连续rm了n个不想rm的文件夹.%>_<% 想起来以前有人也因为rm的失误把整个wo ...

  6. 【HDU3948】 The Number of Palindromes (后缀数组+RMQ)

    The Number of Palindromes Problem Description Now, you are given a string S. We want to know how man ...

  7. Innodb和MyISAM比较

    Innodb和MyISAM比较 (1)MyISAM类型的表强调的是性能,其执行速度比InnoDB类型更快 (2)MyISAM不支持事务.外键,InnoDB支持事务和外键 (3)MyISAM使用的表级锁 ...

  8. [原]Hadoop海量视频、图像分析分布式处理总结

    在刚刚入手视频图像分析时,有点不知所措,后来经过查找了很多资料.本篇文章主要叙述图像的分析处理,至于视频,实际上视频本身就是一个大文件,hadoop对于大文件处理是高效的,所以在MapReduce的处 ...

  9. eclipse报错 com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 转

    今天eclipse突然报了com/genuitec/eclipse/j2eedt/core/J2EEProjectUtil 错误,并且工程文件打不开了,在网上找了一下资料,然后按照方法操作了一遍,好了 ...

  10. HDOJ1020 Encoding

    Problem Description Given a string containing only 'A' - 'Z', we could encode it using the following ...