A(模拟):

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const double eps = 1e-6;
const int N = 2e5+7;
typedef long long ll;
const ll mod = 1e9+7;
using namespace std;
int a[N];
ll suf[N];
int main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n;
while(cin>>n){
for(int i=0;i<=n;i++){
cin>>a[i];
}
for(int i=n;i>=0;i--)
suf[i]=suf[i+1]+a[i];
int ans;
for(int i=0;i<=n;i++){
if(suf[i]>=i){
ans=i;
}
}
cout<<ans<<endl;
}
}

B(思维):

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const double eps = 1e-6;
const int N = 2e5+7;
typedef long long ll;
const ll mod = 1e9+7;
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
ll n;
while(cin>>n){
ll a; cin>>a;
cout<<min(n,n%2==0?(n/2+a/2):(n/2+(a+1)/2))<<endl;
}
}

C(可持久化线段树):

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const double eps = 1e-6;
const int N = 1e5+7;
typedef long long ll;
const ll mod = 1e9+7;
using namespace std;
struct tree{
int l,r,v,ls,rs;
}t[N<<5];
ll a[N];
int rt[N];
int nico=0;
int cnt=0;
void build(int &p,int l,int r){
p=++nico;
t[p].l=l; t[p].r=r; t[p].v=0;
if(l==r){
return ;
}
int mid=(l+r)>>1;
build(t[p].ls,l,mid);
build(t[p].rs,mid+1,r);
t[p].v=t[t[p].ls].v+t[t[p].rs].v;
}
void update(int &p,int last,int x,int v){
p=++cnt;
t[p]=t[last];
if(t[p].l==t[p].r&&t[p].l==x){
t[p].v+=v;
return ;
}
int mid=(t[p].l+t[p].r)>>1;
if(x<=mid) update(t[p].ls,t[last].ls,x,v);
else update(t[p].rs,t[last].rs,x,v);
t[p].v=t[t[p].ls].v+t[t[p].rs].v;
}
int query(int p,int last,int val){
if(t[p].l==t[p].r){
return t[p].l;
}
int mid=(t[p].l+t[p].r)>>1;
int tt=t[t[p].rs].v-t[t[last].rs].v;
if(tt+val<=mid) return query(t[p].ls,t[last].ls,tt+val);
else return query(t[p].rs,t[last].rs,val);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n,q;
while(cin>>n>>q){
build(rt[0],1,n+1);
cnt=nico;
for(int i=1;i<=n;i++){
cin>>a[i];
update(rt[i],rt[i-1],a[i],1);
}
for(int i=1;i<=q;i++){
int l,r; cin>>l>>r;
int ans=query(rt[r],rt[l-1],0);
cout<<ans<<"\n";
}
}
}

F(排序):

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const double eps = 1e-6;
const int N = 1e3+7;
typedef long long ll;
const ll mod = 1e9+7;
using namespace std;
struct node{
ll a,b,c;
int id;
friend bool operator < (node i,node j){
if((__int128)(i.a+i.b)*(j.a+j.b+j.c)==(__int128)(j.a+j.b)*(i.a+i.b+i.c)) return i.id<j.id;
return (__int128)(i.a+i.b)*(j.a+j.b+j.c)<(__int128)(j.a+j.b)*(i.a+i.b+i.c);
}
}t[N];
int main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n;
while(cin>>n){
for(int i=0;i<n;i++){
cin>>t[i].a>>t[i].b>>t[i].c;
t[i].id=i+1;
}
sort(t,t+n);
for(int i=0;i<n;i++){
if(i==0) cout<<t[i].id;
else cout<<" "<<t[i].id;
}
cout<<endl;
}
}

G(思维题):

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const double eps = 1e-6;
const int N = 1e3+7;
typedef long long ll;
const ll mod = 1e9+7;
using namespace std;
vector<pair<int,int> > ss,tt;
int main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
string s,t;
while(cin>>s>>t){
ss.clear(); tt.clear();
int lens=s.size();
int lent=t.size();
int cnt=0;
for(int i=0;i<lens;i++){
if(s[i]=='c') cnt++;
}
for(int i=0;i<lent;i++)
if(t[i]=='c') cnt--;
if(cnt!=0){
cout<<"No"<<endl;
continue;
}
int numa=0,numb=0;
for(int i=0;i<=lens;i++){
if(i==lens||s[i]=='c'){
ss.push_back(make_pair(numa&1,numb&1));
numa=0;
numb=0;
}else{
if(s[i]=='a') numa++;
else numb++;
}
}
numa=0; numb=0;
for(int i=0;i<=lent;i++){
if(i==lent||t[i]=='c'){
tt.push_back(make_pair(numa&1,numb&1));
numa=0;
numb=0;
}else{
if(t[i]=='a') numa++;
else numb++;
}
}
bool f=1;
for(int i=0;i<ss.size();i++){
if(ss[i].first==tt[i].first&&ss[i].second==tt[i].second){ }else{
f=0;
}
}
if(!f){
cout<<"No"<<endl;
}else{
cout<<"Yes"<<endl;
}
}
}

K(数学题):

#include <bits/stdc++.h>
using namespace std;
const int inf = 0x3f3f3f3f;
const double eps = 1e-6;
const int N = 2e5+7;
typedef long long ll;
typedef __int128 ull;
const ll mod = 1e9+7;
using namespace std;
ull work(ll a,ll b,ll num){
return b/num-(a-1)/num;
}
void print(__int128 x)
{
if (!x) return ;
if (x < 0) putchar('-'),x = -x;
print(x / 10);
putchar(x % 10 + '0');
}
int main(){
// ios::sync_with_stdio(false);
// cin.tie(0); cout.tie(0);
ll a,b,c,d;
while(~scanf("%lld%lld%lld%lld",&a,&b,&c,&d)){
ull x=b-a+1,y=d-c+1;
ull num18=work(a,b,2018);
ull num19=work(a,b,1009);
ull num12=work(a,b,2);
ull num28=work(c,d,2018);
ull num29=work(c,d,1009);
ull num22=work(c,d,2);
print(num18*(y-num28)+num28*(x-num18)+num18*num28+(num12-num18)*(num29-num28)+(num22-num28)*(num19-num18));
puts("");
}
}

2019牛客国庆集训派对day2的更多相关文章

  1. 图论+思维(2019牛客国庆集训派对day2)

    题意:https://ac.nowcoder.com/acm/contest/1107/J n个点的完全图编号0-n-1,第i个点的权值为2^i,原先是先手选取一些边,然后后手选取一些点,满足先手选取 ...

  2. 2019牛客国庆集训派对day5

    2019牛客国庆集训派对day5 I.Strange Prime 题意 \(P=1e10+19\),求\(\sum x[i] mod P = 0\)的方案数,其中\(0 \leq x[i] < ...

  3. 牛客国庆集训派对Day2 Solution

    A    矩阵乘法 思路: 1° 牛客机器太快了,暴力能过. #include <bits/stdc++.h> using namespace std; #define N 5000 in ...

  4. 2019 牛客国庆集训派对day1-C Distinct Substrings(exkmp+概率)

    链接:https://ac.nowcoder.com/acm/contest/1099/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...

  5. 计算几何板子题【2019牛客国庆集训派对day7——三角形和矩形】【多边形相交的面积】

    链接:https://ac.nowcoder.com/acm/contest/1112/J来源:牛客网 题目描述 Bobo 有一个三角形和一个矩形,他想求他们交的面积. 具体地,三角形和矩形由 8 个 ...

  6. 2019牛客国庆集训派对day7 A 2016

    链接:https://ac.nowcoder.com/acm/problem/52800来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...

  7. 2019牛客国庆集训派对day1(A, B E F K)

    链接:https://ac.nowcoder.com/acm/contest/1099#question A:可知符合条件的图中间肯定存在一个由1构成的矩形,找到由1构成矩形的边界,判断出现的1的数量 ...

  8. 牛客国庆集训派对Day2

    题目链接:https://www.nowcoder.com/acm/contest/202/A A 题意:给出最大4096*64和64*4096的矩阵,其中有一个矩阵只含有0和1,问你它们相乘所得到得 ...

  9. 牛客国庆集训派对Day2 H 期望

    小贝喜欢玩卡牌游戏.某个游戏体系中共有N种卡牌,其中M种是稀有的.小贝每次和电脑对决获胜之后都会有一个抽卡机会,这时系统会随机从N种卡中选择一张给小贝.普通卡可能多次出现,而稀有卡牌不会被重复抽到.小 ...

随机推荐

  1. Spring用了哪些设计模式?

    设计模式是一套被反复使用的.多数人知晓的.经过分类编目的.代码设计经验的总结.总共有 23 种设计模式 使用设计模式是为了重用代码.让代码更容易被他人理解.保证代码可靠性. Spring用了哪些设计模 ...

  2. Array.apply(null, {length: 2}) 的理解

    // apply 的第二参数通常是数组 但是也可以传递类数组对象{length: 2}console.log(Array.apply(null, {length: 2})) // [undefined ...

  3. 【剑指 Offer】11.旋转数组的最小数字

    题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转.输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素.例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的 ...

  4. 【SpringMVC】SpringMVC 响应数据

    SpringMVC 响应数据 文章源码 返回值分类 返回值是字符串 Controller 方法返回字符串可以指定逻辑视图的名称,通过视图解析器解析为物理视图的地址. @Controller @Requ ...

  5. kubernetes环境部署单节点redis

    kubernetes部署redis数据库(单节点) redis简介 Redis 是我们常用的非关系型数据库,在项目开发.测试.部署到生成环境时,经常需要部署一套 Redis 来对数据进行缓存.这里介绍 ...

  6. 十七:SQL注入之二次加解密,DNS注入

    加解密,二次,DNSlog注入 注入原理,演示案例,实际应用. less-21关,base64进行解密 encode加密decode解密 cookie处注入 判断加密算法,然后进行注入 less-24 ...

  7. docker 数据卷的挂载和使用

    容器之间的数据共享技术, Docker容器产生的数据同步到本地 卷技术 --> 目录挂载, 将容器内的目录挂载到服务器上 使用命令来挂载 -v # 可以挂载多个目录 docker run -it ...

  8. 用percona monitoring plugins 监控mysql

    下载:http://www.percona.com/redir/downloads/percona-monitoring-plugins/1.1.1/percona-zabbix-templates- ...

  9. 【Nginx】使用keepalive和nginx搭载高可用

    首先介绍一下Keepalived,它是一个高性能的服务器高可用或热备解决方案,Keepalived主要来防止服务器单点故障的发生问题,可以通过其与Nginx的配合实现web服务端的高可用. Keepa ...

  10. Pandas应用案例-股票分析:使用tushare包获取股票的历史行情数据进行数据分析

    目标: 使用tushare包获取股票的历史行情数据 输出该股票所有收盘比开盘上涨3%以上的日期 输出该股票所有开盘比前日收盘跌幅超过2%以上的日期 假如为我们从2010年1月1日开始,每月第一个交易日 ...