2019牛客国庆集训派对day2
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的更多相关文章
- 图论+思维(2019牛客国庆集训派对day2)
题意:https://ac.nowcoder.com/acm/contest/1107/J n个点的完全图编号0-n-1,第i个点的权值为2^i,原先是先手选取一些边,然后后手选取一些点,满足先手选取 ...
- 2019牛客国庆集训派对day5
2019牛客国庆集训派对day5 I.Strange Prime 题意 \(P=1e10+19\),求\(\sum x[i] mod P = 0\)的方案数,其中\(0 \leq x[i] < ...
- 牛客国庆集训派对Day2 Solution
A 矩阵乘法 思路: 1° 牛客机器太快了,暴力能过. #include <bits/stdc++.h> using namespace std; #define N 5000 in ...
- 2019 牛客国庆集训派对day1-C Distinct Substrings(exkmp+概率)
链接:https://ac.nowcoder.com/acm/contest/1099/C来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536 ...
- 计算几何板子题【2019牛客国庆集训派对day7——三角形和矩形】【多边形相交的面积】
链接:https://ac.nowcoder.com/acm/contest/1112/J来源:牛客网 题目描述 Bobo 有一个三角形和一个矩形,他想求他们交的面积. 具体地,三角形和矩形由 8 个 ...
- 2019牛客国庆集训派对day7 A 2016
链接:https://ac.nowcoder.com/acm/problem/52800来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K ...
- 2019牛客国庆集训派对day1(A, B E F K)
链接:https://ac.nowcoder.com/acm/contest/1099#question A:可知符合条件的图中间肯定存在一个由1构成的矩形,找到由1构成矩形的边界,判断出现的1的数量 ...
- 牛客国庆集训派对Day2
题目链接:https://www.nowcoder.com/acm/contest/202/A A 题意:给出最大4096*64和64*4096的矩阵,其中有一个矩阵只含有0和1,问你它们相乘所得到得 ...
- 牛客国庆集训派对Day2 H 期望
小贝喜欢玩卡牌游戏.某个游戏体系中共有N种卡牌,其中M种是稀有的.小贝每次和电脑对决获胜之后都会有一个抽卡机会,这时系统会随机从N种卡中选择一张给小贝.普通卡可能多次出现,而稀有卡牌不会被重复抽到.小 ...
随机推荐
- WebRTC ICE 状态与提名处理
大家都知道奥斯卡有提名,其实在 WebRTC 的 ICE 中也有提名,有常规的提名,也有激进的提名,而且提名的候选人不一定是最优秀的候选人喔,本文就带你一探其中玄妙.文章内容主要描述 RFC 5245 ...
- 使用 C# 9 的records作为强类型ID - JSON序列化
在本系列的上一篇文章中,我们注意到强类型ID的实体,序列化为 JSON 的时候报错了,就像这样: { "id": { "value": 1 }, "n ...
- Android之旅2
一.动静态调试四大组件 (一).activity 一个又一个的界面,需要在manifest里面注册 (二). (三).service (四).broadcast receiver 二.开始分析 1.先 ...
- cmd的终结工具cmder
常用快捷键 win+alt+t 打开任务设置窗口 win+alt+k 打开快捷键设置窗口 自定义屏幕分割窗口快捷键: ctl+shift+s 水平按50%比例分割 ctl+shift+v 垂直按50 ...
- 一文读懂k8s之Pod安全策略
导读 Pod容器想要获取集群的资源信息,需要配置角色和ServiceAccount进行授权.为了更精细地控制Pod对资源的使用方式,Kubernetes从1.4版本开始引入了PodSecurityPo ...
- 使用axis1.4生成webservice的客户端代码
webservice服务端: https://blog.csdn.net/ghsau/article/details/12714965 跟据WSDL文件地址生成客服端代码: 1.下载 axis1.4 ...
- Javadoc命令与API
Javadoc命令与API Javadoc工具会抽取类,成员,方法的文档注释生成与这个类配套的API帮助文档 Javadoc命令和文档注释小公司基本不用,但我们应养成良好的编码习惯,所以还是了解一下 ...
- Hive常用性能优化方法实践全面总结
Apache Hive作为处理大数据量的大数据领域数据建设核心工具,数据量往往不是影响Hive执行效率的核心因素,数据倾斜.job数分配的不合理.磁盘或网络I/O过高.MapReduce配置的不合理等 ...
- unity3D进阶
前言 在之前的例子中,我们都没有用到unity的精髓,例如地形系统.物理系统.粒子系统等,本文记录unity3D的进阶简单应用 前期准备 https://unity.cn/releases/full/ ...
- 【AtCoder Beginner Contest 181】A~F题解
越学越菜系列 于2020.11.2,我绿了(错乱) A - Heavy Rotation 签到题,奇数Black,偶数White. code: #include<bits/stdc++.h> ...