Codeforces Round #414 C. Naming Company】的更多相关文章

http://codeforces.com/contest/794/problem/C 题意: 有两个人要为公司起名字,每个人手中都有n个字符,现在要取一个n个字符长度的公司名.两人轮流取名,每次选择一个字符,可以任意选择放在1~n还未放置字符的位置上,每个字符限用一次. 现在第一个人希望公司名字典序越小越好,而第二个人希望字典序越大越好.输出最后的公司名. 思路: 首先肯定是要排序的,第一个人肯定去用前面最小的几个,而第二个人肯定去用前面最大的几个. 轮到第一个人时,我们首先将他手中最小的字符…
老年人题解,语言python3 A - Bank Robbery 题意:给你ABC,以及n个数,问你在(B,C)之间的数有多少个. 题解:对于每个数判断一下就好了嘛 x,y,z = map(int,input().split()) n = int(input()) print(len(list(filter(lambda x:y<int(x) and z>int(x),input().split())))) B. Cutting Carrot 题意:给你一个高为h,底为1的等腰三角形,你需要平…
这次的前三题挺简单的,可是我做的不快也不对. A. Bank Robbery time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output A robber has attempted to rob a bank but failed to complete his task. However, he had managed to open…
考虑两个人,先把各自的集合排个序,丢掉一半,因为比较劣的那一半一定用不到. 然后贪心地放,只有两种决策,要么把一个最优的放在开头,要么把一个最劣的放在结尾. 如果我的最优的比对方所有的都劣(或等于),我就把我最劣的往结尾放.否则我把我最优的往开头放. 用multiset维护两人的集合即可. #include<cstdio> #include<cstring> #include<algorithm> #include<set> using namespace…
A: 思路:就是找b,c之前有多个s[i] 代码: #include<stdio.h>#define ll long longusing namespace std;ll a,b,c;int n;int s[110000];int main(){ while(~scanf("%lld%lld%lld",&a,&b,&c)) { scanf("%d",&n); int sum=0; for(int i=0;i<n;i+…
A. Bank Robbery time limit per test 2 seconds memory limit per test   256 megabytes   A robber has attempted to rob a bank but failed to complete his task. However, he had managed to open all the safes. Oleg the bank client loves money (who doesn't),…
考试的时候想的是,将所有的完全子图缩起来,然后如果剩下的是一条链,依次对其进行标号即可. 看了官方题解,发现完全子图这个条件太强了,缩点的条件仅仅需要保证原本两个点的“邻接表”相同即可.(注意这里的“邻接表”需要把其自身也放进去) 自己构造一下,发现这个比较容易理解. 被缩在一起的点的标号相同.如果缩完是一条链,对其依次进行标号.否则无解. 复杂度发现比较鬼畜,但是想一下就会知道其不会太高.官方说可以证明是. #include<cstdio> #include<vector> #i…
A =w= B qvq C(贪心) 题意: Alice和Bob分别有长度为n(n<=1e5)的字符串,Alice先手,每次从自己的字符串中抽出一个字母放到新字符串的某个位置,一共轮流n次,也就是说最后新字符串长度为n.Alice的决策时希望最后结果字典序最小,Bob则是希望最大,他们都是聪明的,请输出最后会得到怎样一个字符串. 分析: 先对A和B的字符串排序,A的字符串从小到大排序,B的字符串从大到小排序,并且舍去他们各自的后一半字符,这些肯定用不到 轮到A,A希望字符串字典序小 1)最直观的贪…
A:判断一下就可以了 #include<bits/stdc++.h> using namespace std; typedef long long ll; int a, b, c, n; ll ans; int main() { scanf("%d%d%d%d", &a, &b, &c, &n); ; i <= n; ++i) { int x; scanf("%d", &x); if(x > b &am…
http://codeforces.com/contest/794/problem/C Description Oleg the client and Igor the analyst are good friends. However, sometimes they argue over little things. Recently, they started a new company, but they are having trouble finding a name for the…