迭代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. 升级 Java 编程规范的6个约定

    作为 Java 开发人员,我们会遵循一系列的编码风格和开发习惯.习惯使然是一方面,另一方面,我们也从不停下脚步质疑这些习惯.一段时间以后,笔者养成了一些不同于常人的编码风格和开发习惯.当第一次了解到这 ...

  2. 如何在sourcetree 下提交代码到gerrit上

    gerrit的审核机制决定了提交到远程到代码并非远程master分支,而是/refs/for/master 分支,所以需要解决怎么在sourcetree下提交代码到/refs/for/master分支 ...

  3. HBase学习笔记之HFile格式

    主要看Roger的文档,这里作为文档的补充 HFile的格式-HFile的基本结构 Trailer通过指针找到Meta index.Data index.File info. Meta index保存 ...

  4. [LeetCode#191]Number of Bits

    Problem: Write a function that takes an unsigned integer and returns the number of ’1' bits it has ( ...

  5. bzoj 1911 [Apio2010]特别行动队(斜率优化+DP)

    1911: [Apio2010]特别行动队 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 3191  Solved: 1450[Submit][Statu ...

  6. microsoft visual studio 不能逐句执行?

    最近在使用vs2013过程中,vs2013不能逐行执行,在不设断点的情况下,根本停不下来按一下F11,整个程序就执行完了.百度了很久也没找到方法(看的还不够仔细),卸载安装了很多次(看我够笨的吧),最 ...

  7. Palindrome - URAL - 1297(求回文串)

    题目大意:RT   分析:后缀数组求回文串,不得不说确实比较麻烦,尤其是再用线段数进行查询,需要注意的细节地方比较多,比赛实用性不高......不过练练手还是可以的.   线段数+后缀数组代码如下: ...

  8. java 解析xml文件案例

    package xmlTest; import javax.xml.parsers.*; import org.w3c.dom.*; public class GetXml { public stat ...

  9. db2官方SQLSTATE代码提示

    官网地址:http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/core/r0 ...

  10. Eclipse自动换行WordWrap插件

    eclipse没有自动换行功能,需要安装插件wordwrap,方法请自行百度,可以参考下面的方法: http://jingyan.baidu.com/article/ce09321b7ba7042bf ...