Codeforces_835
A.比较两人总时间。
#include<bits/stdc++.h>
using namespace std; int s,v1,v2,t1,t2; int main()
{
ios::sync_with_stdio(false);
cin >> s >> v1 >> v2 >> t1 >> t2;
int x1 = s*v1+*t1,x2 = s*v2+*t2;
if(x1 < x2) cout << "First" << endl;
else if(x1 > x2) cout << "Second" << endl;
else cout << "Friendship" << endl;
return ;
}
B.记录每个数值个9的差的个数,贪心大的。
#include<bits/stdc++.h>
using namespace std; int k,cnt[];
string s; int main()
{
ios::sync_with_stdio(false);
cin >> k >> s;
int sum = ;
for(int i = ;i < s.length();i++)
{
sum += s[i]-'';
cnt[-s[i]+'']++;
}
int ans = ,now = ;
while(sum < k)
{
while(cnt[now] == ) now--;
cnt[now]--;
sum += now;
ans++;
}
cout << ans << endl;
return ;
}
C.给周期内每个时间点都开数组,二维前缀和。
#include<bits/stdc++.h>
using namespace std; int n,q,c,ans[][][] = {}; int main()
{
ios::sync_with_stdio(false);
cin >> n >> q >> c;
for(int i = ;i <= n;i++)
{
int x,y,z;
cin >> x >> y >> z;
for(int j = ;j <= c;j++) ans[x][y][j] += (j+z)%(c+);
}
for(int k = ;k <= c;k++)
{
for(int i = ;i <= ;i++)
{
for(int j = ;j <= ;j++) ans[i][j][k] += ans[i][j-][k]+ans[i-][j][k]-ans[i-][j-][k];
}
}
while(q--)
{
int t,x1,x2,y1,y2;
cin >> t >> x1 >> y1 >> x2 >> y2;
t %= (c+);
cout << ans[x2][y2][t]-ans[x1-][y2][t]-ans[x2][y1-][t]+ans[x1-][y1-][t] << endl;
}
return ;
}
D.区间dp。
#include<bits/stdc++.h>
using namespace std; string s;
int dp[][] = {},ans[] = {}; int main()
{
ios::sync_with_stdio();
cin >> s;
s = ' '+s;
for(int i = ;i < s.length();i++) dp[i][i] = ;
for(int i = ;i < s.length();i++)
{
if(s[i-] == s[i]) dp[i-][i] = ;
}
for(int len = ;len < s.length();len++)
{
for(int l = ;l+len- < s.length();l++)
{
int r = l+len-;
if(s[l] != s[r] || !dp[l+][r-]) continue;
dp[l][r] = dp[l][l+len/-]+;
}
}
for(int i = ;i < s.length();i++)
{
for(int j = i;j < s.length();j++) ans[dp[i][j]]++;
}
for(int i = s.length()-;i >= ;i--) ans[i] += ans[i+];
for(int i = ;i < s.length();i++) cout << ans[i] << " ";
cout << endl;
return ;
}
E.因为有两个y,先把两个y划分进不同的组,把n个位置按位运算。每一位对应的值异或,统计只含一个y的位,10次。任取其中一位,对n个数划分成2块,之后对某一块少的二分找y的位置,9次。因为已经所有只含一个y的位,异或可得另一个y的位置。
#include<bits/stdc++.h>
using namespace std; int n,x,y; int ask(vector<int> v)
{
if(v.empty()) return ;
cout << "? " << v.size();
for(int i = ;i < v.size();i++) cout << " " << v[i];
cout << endl;
int x;
cin >> x;
return x;
} int main()
{
ios::sync_with_stdio();
cin >> n >> x >> y;
int diff = ,diffb;
for(int i = ;i < ;i++)
{
vector<int> v;
for(int j = ;j <= n;j++)
{
if(j&(<<i)) v.push_back(j);
}
int t = ask(v);
if(t == y || t == (x^y))
{
diff |= (<<i);
diffb = i;
}
}
vector<int> a,b;
for(int i = ;i <= n;i++)
{
if(i&(<<diffb)) a.push_back(i);
else b.push_back(i);
}
if(a.size() > b.size()) swap(a,b);
int l = ,r = a.size()-;
while(l < r)
{
int mid = (l+r)/;
vector<int> v;
for(int i = l;i <= mid;i++) v.push_back(a[i]);
int t = ask(v);
if(t == y ||t == (x^y)) r = mid;
else l = mid+;
}
int ans1 = a[l],ans2 = ans1^diff;
if(ans1 > ans2) swap(ans1,ans2);
cout << "! " << ans1 << " " << ans2 << endl;
return ;
}
Codeforces_835的更多相关文章
随机推荐
- Serverless Kubernetes 入门:对 Kubernetes 做减法
作者 | 贤维 阿里巴巴高级技术专家 导读:Serverless Kubernetes 是阿里云容器服务团队对未来 Kubernetes 演进方向的一种探索,通过对 Kubernetes 做减法,降 ...
- 5.pycharm中导入第三方模块的方法
最近刚入门学习python,网上查找了一些资料,发现python编程用的软件pycharm还是比较多的,于是就跟随大众,学习使用pycharm,在学习的过程中,想要导入第三方模块pyperclip,但 ...
- Java 利用Map集合计算一个字符串中每个字符出现的次数
步骤分析 1.给出一串字符串,字符串中可以包含字母.数字.符号等等. 2.创建一个Map集合,key是字符串中的字符,value是字符的个数. 3.遍历字符串,获取每一个字符. 5.使用获取到的字符, ...
- eclipse反编译插件 jadclipse jad
eclipse常用反编译插件jadclipse.jad 1.下载jadclipse:net.sf.jadclipse_3.3.0.jar,放到eclipse-plugins 2.下载jad.exe,放 ...
- django 建立安全索引
上篇记录使用“CONCURRENTLY” 命令行执行不锁表索引,对于django, 如何执行呢?这里记录一种方法,修改django迁移文件. 在执行完迁移后,为了方便找到该迁移文件,可以采用指定命名迁 ...
- ubuntu系统搭建(jdk1.8+mysql5.7.28+Hadoop2.7.7+hive3.1.2)
一不小心电脑没电关机之后虚拟机就挂了,然后下定决心重新搭一个虚拟机. 以下是几天安装过程的记录以及一些小提示,包括在ubuntu中安装jdk1.8+mysql5.7.28+Hadoop2.7.7+hi ...
- python爬虫——selenium+firefox使用代理
本文中的知识点: python selenium库安装 firefox geckodriver的下载与安装 selenium+firefox使用代理 进阶学习 搭建开发环境: selenium库 fi ...
- 8.for循环及练习
For循环: 虽然所有循环结构都可以用 while 或者 do...while 表示,但Java提供了另一种语句— —for循环,使一些循环结构变的更加简单. for 循环语句是支持迭代的一种通用 ...
- Java入门 - 语言基础 - 06.变量类型
原文地址:http://www.work100.net/training/java-variable-type.html 更多教程:光束云 - 免费课程 变量类型 序号 文内章节 视频 1 概述 2 ...
- (转) exp1-1:// 一次有趣的XSS漏洞挖掘分析(1)
from http://www.cnblogs.com/hookjoy/p/3503786.html 一次有趣的XSS漏洞挖掘分析(1) 最近认识了个新朋友,天天找我搞XSS.搞了三天,感觉这一套 ...