迭代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 多线程--线程管理
说到多线程编程,那么就不得不提并行和并发,多线程是实现并发(并行)的一种手段.并行是指两个或多个独立的操作同时进行.注意这里是同时进行,区别于并发,在一个时间段内执行多个操作.在单核时代,多个线程是并 ...
随机推荐
-
为Debian/Ubuntu的apt-get install添加自动补齐/完成功能
Debian/Ubuntu的apt-get太常用了,不过偶尔可能也会碰到不太熟悉,想不起来的包的名称,除了去debian packages去查找,另外的方法就是给Debian/Ubuntu添加自动补齐 ...
-
Sprint 2(第一天)
Sprint 2计划会议: 目标: 1.实现用户模块的权限控制,能够进行用户登录的功能 2.对菜单模块实现增加菜单列表详情,修改菜单列表详情,删除菜单列表详情,查询菜单列表详情的功能 3.实现菜品分类 ...
-
android adb install
环境:centos6.8 需要安装 root@localhost ~]# yum install libstdc++.so.6 1.下载安装包; http://pan.baidu.com/s/1skg ...
-
【高斯消元】BZOJ 1013: [JSOI2008]球形空间产生器sphere
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁 ...
-
FileStream操作文件读写
FileStream fsRead = new FileStream(@"C:\Users\Administrator\Desktop\u.html",FileMode.OpenO ...
-
Codeforces Round #274 (Div. 2) B. Towers
As you know, all the kids in Berland love playing with cubes. Little Petya has n towers consisting o ...
-
javascript-OOP基础详解
前 言 S N 今天给大家详解一下面向对象编程(简称OOP)基础,OOP 语言使我们有能力定义自己的对象和变量类型 .对象拥有属性和方法 . 所以今天就给大家详解对象和类 . 1-1简介 ...
-
An overview of gradient descent optimization algorithms
原文地址:An overview of gradient descent optimization algorithms An overview of gradient descent optimiz ...
-
redis关闭/重启服务器
通过docker实现: 一.创建redis服务器与客户端 docker run -p : -d --name redis-server docker.io/redis: redis-server -- ...
-
nsi脚本中执行.bat文件要隐藏dos窗口问题
问题原因:工作中,在一个nsi的安装脚本文件中需要安装虚拟摄像头驱动,安装驱动脚本是.bat文件.使用nsi的execwait函数执行.bat文件时会显示dos窗口.但是领导要求不能显示dos窗口. ...