A

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 100000
#define LL long long
#define INF 0xfffffff
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
int n,m;
int main()
{
int n,m,i,j;
cin>>n>>m;
if(m>n)
cout<<n<<endl;
else
{
int o = ;
while(n)
{
n--;
o++;
if(o%m==) n++;
}
cout<<o<<endl;
}
return ;
}

B

枚举和值

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 100000
#define LL long long
#define INF 0xfffffff
#define M 1000000000
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
int o[N];
int judge(LL x)
{
int ans = ;
while(x)
{
ans+=x%;
x/=;
}
return ans;
}
int main()
{
int a,b,c,i,j;
cin>>a>>b>>c;
int g = ;
for(i = ; i <= ; i++)
{
LL k = (LL)b*pow(i*1.0,a)+c;
if(judge(k)==i&&k>&&k<M)
o[++g] = k;
}
cout<<g<<endl;
if(g)
{ sort(o+,o+g+);
for(i = ; i < g ; i ++)
cout<<o[i]<<" ";
cout<<o[i]<<endl;
}
return ;
}

C

二分高度,之后用高度减去原有高度,就可以知道每株花被浇了多少水,用线段树维护一下就可以得到最少浇水的次数。

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 100010
#define LL long long
#define INF 0xfffffff
#define M 1000200000
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
int a[N],o[N];
LL s[N<<];
int n,m,w;
void build(int l,int r,int w)
{
s[w] = ;
if(l==r)
{
s[w] = o[l];
return ;
}
int m = (l+r)>>;
build(l,m,w<<);
build(m+,r,w<<|);
}
void down(int w,int m)
{
if(s[w])
{
s[w<<] += s[w];
s[w<<|] += s[w];
s[w] = ;
}
}
void update(int a,int b,int d,int l,int r,int w)
{
if(a<=l&&b>=r)
{
s[w]+=d;
return ;
}
down(w,r-l+);
int m = (l+r)>>;
if(a<=m) update(a,b,d,l,m,w<<);
if(b>m) update(a,b,d,m+,r,w<<|);
}
LL query(int p,int l,int r,int w)
{
if(l==r)
return s[w];
down(w,r-l+);
int m = (l+r)>>;
if(p<=m) return query(p,l,m,w<<);
else return query(p,m+,r,w<<|);
}
int cal(int k)
{
int i,j;
for(i = ; i <= n; i++)
if(k>a[i]) o[i] = k-a[i];
else o[i] = ;
build(,n,);
LL num = ;
for(i = ; i <= n; i++)
{
int pp = query(i,,n,); if(pp>) {update(i,min(n,i+w-),-pp,,n,);num+=pp;} if(num>m) return ;
}
if(num<=m) return ;
return ;
}
int main()
{
int i,j;
cin>>n>>m>>w;
for(i = ; i <= n; i++)
scanf("%d",&a[i]);
int low = ,high = M,mid;
int ans = ;
while(low<=high)
{
mid = (low+high)>>;
if(cal(mid)==)
high = mid-;
else
{
low = mid+;
ans = max(ans,mid);
}
}
cout<<ans<<endl;
return ;
}

D

对于

k=1 ,ans = L。

连续偶奇异或是为1的 比如10 11    12 13等 ,而奇偶则是不一定的

k= 2, 如果l%2==0,ans = L^(L+1)=1 ,否则要根据R-L+1的取值决定

k= 4 ,如果L%2=0,ans = L^(L+1)^(L+2)^(L+3)  = 0,否则如果R-L+1>4 也是为偶奇偶奇=0的,若R-L+1=4 就可转化为3的时候做。

k=3 ,有可能为1也有可能为0 ,假设L-R范围内的三个数x,y,z异或为0,x,y,z不同,就设x>y>z,那么x,y已确定,那么就是尽可能让z大,

比如

x  100110001111   那么y值的第一位一定为1,不然z就为1就不符合假设y>z了,因为y<x,所以之后遇到x为0的位,y,z也是为0的,一旦再遇到一位1,就可以把y置为0,z置为1,再之后z就可以一直为1,而y的变化可以依据x,z而定。

x  100110001111...1

y  100001110000...0

z  000111111111...1

这样z将获得<R的最大值,再与L相比较就可以知道结果了。

 #include <iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<stdlib.h>
#include<vector>
#include<cmath>
#include<queue>
#include<set>
using namespace std;
#define N 100000
#define LL long long
#define INF 0xfffffff
const double eps = 1e-;
const double pi = acos(-1.0);
const double inf = ~0u>>;
LL a[];
int di[];
void judge(LL l,LL r)
{
LL x = r;
LL i;
int g = ;
while(x)
{
di[g++] = x%;
x/=;
}
LL y = ;
LL z = ;
int flag = ;
y+=((LL)<<(g-));
for(i = g- ; i >= ; i--)
{
if(di[i])
{
flag = ;
z += ((LL)<<i);
}
else if(flag)
{
z+=((LL)<<i);
y+=((LL)<<i);
}
}
if(z>=l)
{
cout<<"0\n";
cout<<"3\n";
cout<<r<<" "<<y<<" "<<z<<endl;
}
else
{
cout<<"1\n";
cout<<"2\n";
if(l%)
cout<<l+<<" "<<l+<<endl;
else
cout<<l<<" "<<l+<<endl;
}
}
int main()
{
LL l,r,i,k;
cin>>l>>r>>k;
if(r==l)
{
cout<<l<<endl;
cout<<"1\n";
cout<<l<<endl;
return ;
}
if(l%==)
{
if(r-l+==||k<=)
{
if(k==)
{
cout<<l<<endl;
cout<<"1\n";
cout<<l<<endl;
}
else
{
cout<<"1\n";
cout<<"2\n";
cout<<l<<" "<<l+<<endl;
}
}
else if(r-l+==||k==)
{
judge(l,r);
}
else
{
cout<<"0\n";
cout<<"4\n";
for(i = l ; i < l + ; i++)
cout<<i<<" ";
puts("");
}
}
else
{
if(r-l+==||k<=)
{
if(k==||(r-l+==&&(l^(l+))>l))
{
cout<<l<<endl;
cout<<"1\n";
cout<<l<<endl;
}
else
{
if(r-l+==)
{
cout<<(l^(l+))<<endl;
cout<<"2\n";
cout<<l<<" "<<l+<<endl;
}
else
{
cout<<"1\n";
cout<<"2\n";
cout<<l+<<" "<<l+<<endl;
}
}
}
else if(r-l+==||k==)
{
judge(l,r);
}
else if(r-l+==)
{
int flag = ;
judge(l,r);
}
else
{
cout<<"0\n";
cout<<"4\n";
for(i = l+ ; i < l+ ; i++)
cout<<i<<" ";
puts("");
} }
return ;
}

Codeforces Round #262 (Div. 2)的更多相关文章

  1. Codeforces Round #262 (Div. 2) 1003

    Codeforces Round #262 (Div. 2) 1003 C. Present time limit per test 2 seconds memory limit per test 2 ...

  2. Codeforces Round #262 (Div. 2) 1004

    Codeforces Round #262 (Div. 2) 1004 D. Little Victor and Set time limit per test 1 second memory lim ...

  3. Codeforces Round #262 (Div. 2) 460C. Present(二分)

    题目链接:http://codeforces.com/problemset/problem/460/C C. Present time limit per test 2 seconds memory ...

  4. codeforces水题100道 第十五题 Codeforces Round #262 (Div. 2) A. Vasya and Socks (brute force)

    题目链接:http://www.codeforces.com/problemset/problem/460/A题意:Vasya每天用掉一双袜子,她妈妈每m天给他送一双袜子,Vasya一开始有n双袜子, ...

  5. Codeforces Round #262 (Div. 2) E. Roland and Rose 暴力

    E. Roland and Rose Time Limit: 1 Sec  Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/pro ...

  6. Codeforces Round #262 (Div. 2)解题报告

    详见:http://robotcator.logdown.com/posts/221514-codeforces-round-262-div-2 1:A. Vasya and Socks   http ...

  7. Codeforces Round #262 (Div. 2)460A. Vasya and Socks(简单数学题)

    题目链接:http://codeforces.com/contest/460/problem/A A. Vasya and Socks time limit per test 1 second mem ...

  8. Codeforces Round #262 (Div. 2) A B C

    题目链接 A. Vasya and Socks time limit per test:2 secondsmemory limit per test:256 megabytesinput:standa ...

  9. Codeforces Round #262 (Div. 2) 二分+贪心

    题目链接 B Little Dima and Equation 题意:给a, b,c 给一个公式,s(x)为x的各个位上的数字和,求有多少个x. 分析:直接枚举x肯定超时,会发现s(x)范围只有只有1 ...

随机推荐

  1. 蓝牙—RFCOMM协议

    RFCOMM是一个简单的协议,其中针对9针RS-232串口仿真附加了部分条款.可支持在两个蓝牙设备之间同时保持高达60路的通信连接.RFCOMM的目的是针对如何在两个不同设备上的应用之间保证一条完整的 ...

  2. CSS之cssText

    更改元素样式 <div style="width:100px;height:100px;text-align:center;line-height:100px;"> T ...

  3. 【转】给npm设置代理

    可以运行如下两句命令设置代理,注意代理的地址改为自己实际可用的代理. npm config set proxy=http://127.0.0.1:8087 npm config set registr ...

  4. 跨域解决方案一:使用CORS实现跨域

    跨站HTTP请求(Cross-site HTTP request)是指发起请求的资源所在域不同于请求指向的资源所在域的HTTP请求. 比如说,我在Web网站A(www.a.com)中通过<img ...

  5. sysctl kernel parameter Optimization note

    syncookies cookies the connection state,when the ack arrives,then deal with the pause connection,ver ...

  6. 【转】SQL Server中关于跟踪(Trace)那点事

    前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案. 简 ...

  7. Spring 计划

    3.0----------------------------------------------------- SCRUM 流程的步骤2: Spring 计划 1. 确保product backlo ...

  8. Leetcode: Split Array Largest Sum

    Given an array which consists of non-negative integers and an integer m, you can split the array int ...

  9. 谨慎使用多线程中的fork

    // Upon successful completion, pthread_atfork() shall return a value of zero; otherwise, an error nu ...

  10. Java语言中,类所拥有的“孩子”,他们的关系是怎样的

    学习了一本有关Java的书.初步了解了一些面向对象的内容. java是由一个个的类组成的,这些类组成了java程序.类之下有他的孩子,这四个孩子分别是: 成员变量:就相当于一个个的变量,他由stati ...