Codeforces Round #494 (Div 3) (A~E)
Codeforces 1003
这么做是不是不太好啊233


A.Polycarp's Pockets
#include <cstdio>
#include <cctype>
#include <algorithm>
#define gc() getchar()
const int N=500;
int n,A[N],tm[N];
inline int read()
{
int now=0,f=1;register char c=gc();
for(;!isdigit(c);c=='-'&&(f=-1),c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now*f;
}
int main()
{
n=read();
for(int i=1; i<=n; ++i) ++tm[read()];
int res=0;
for(int i=1; i<=100; ++i) res=std::max(res,tm[i]);
printf("%d",res);
return 0;
}
B.Binary String Constructing
#include <cstdio>
#include <cctype>
#include <algorithm>
#define gc() getchar()
const int N=10000;
int A,B,X;
char s[N];
inline int read()
{
int now=0,f=1;register char c=gc();
for(;!isdigit(c);c=='-'&&(f=-1),c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now*f;
}
int main()
{
A=read(),B=read(),X=read();//A:0 B:1
int n=A+B;
// if(X==1)
// {
// for(int i=1; i<=A; ++i) putchar('0');
// for(int i=A+1; i<=n; ++i) putchar('1');
// return 0;
// }
const char f=A>=B?'1':'0', s=A>=B?'0':'1';
if(A>B) std::swap(A,B);
for(int i=1; i<=X; ++i)
putchar((i&1)?s:f), --((i&1)?B:A);
if(X&1)
{
for(int i=X+1; i<=X+B; ++i) putchar(s);
for(int i=X+B+1; i<=n; ++i) putchar(f);
}
else
{
for(int i=X+1; i<=X+A; ++i) putchar(f);
for(int i=X+A+1; i<=n; ++i) putchar(s);
}
return 0;
}
C.Intense Heat
#include <cstdio>
#include <cctype>
#include <algorithm>
#define gc() getchar()
#define eps (1e-8)
const int N=5007;
int n,K,A[N];
inline int read()
{
int now=0,f=1;register char c=gc();
for(;!isdigit(c);c=='-'&&(f=-1),c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now*f;
}
int main()
{
n=read(),K=read();
for(int i=1; i<=n; ++i) A[i]=read();
double ans=0;
for(int i=1; i<=n; ++i)//O(n^2) 这种暴力我最会写了233
{
int sum=0;
for(int j=i; j<=n; ++j)
{
sum+=A[j];
if(j-i+1>=K) ans=std::max(ans,1.0*sum/(j-i+1));
}
}
printf("%.10lf",ans);
return 0;
}
D.Coins and Queries
#include <cmath>
#include <cstdio>
#include <cctype>
#include <cstring>
#include <algorithm>
#define gc() getchar()
const int N=2e5+5, INF=0x7fffffff;
int n,Q,A[N],tot[999],num[999];
inline int read()
{
int now=0;register char c=gc();
for(;!isdigit(c);c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now;
}
inline int Count(int x){
for(int i=0; i<31; ++i) if(x&(1<<i)) return i;
}
int Query()
{//写的好像麻烦了 当时非常zz
memcpy(num,tot,sizeof tot);
int B=read(),ans=0;
for(int i=30; ~i; --i)
{
if(!(B&(1<<i))) continue;
if(num[i]) ++ans;
else
{
int need=1<<i;
for(int j=i-1; ~j&&need; --j)
{
if(!num[j]) continue;
int v=std::min(num[j],need>>j);//need/(1<<j);//not ceil!
ans+=v, need-=v*(1<<j), num[j]-=v;
}
if(need) return -1;
}
}
return ans;
}
int main()
{
n=read(), Q=read();
for(int i=1; i<=n; ++i) ++tot[Count(read())];
while(Q--) printf("%d\n",Query());
return 0;
}
比赛结束后
E.Tree Constructing(贪心)
贪心策略显然 但可能要注意特殊情况(比如D=N-1,K=1)。
WA了四次结果结束后发现脑抽写错一行 改了就A了啊mmp
#include <cstdio>
#include <cctype>
#include <algorithm>
#define gc() getchar()
const int N=4e5+7,M=N<<1;
int n,D,K,now,dgr[N],Enum,H[N],nxt[M],to[M];
inline int read()
{
int now=0;register char c=gc();
for(;!isdigit(c);c=gc());
for(;isdigit(c);now=now*10+c-'0',c=gc());
return now;
}
inline void AddEdge(int u,int v)
{
++dgr[u], to[++Enum]=v, nxt[Enum]=H[u], H[u]=Enum;
++dgr[v], to[++Enum]=u, nxt[Enum]=H[v], H[v]=Enum;
}
void Link(int x,int dep)
{
if(!dep) return;
for(int i=K-dgr[x]; i>0&&now<n; --i) AddEdge(x,++now), Link(now,dep-1);
}
bool Solve()
{
if(D>=n) return 0;
for(int i=1; i<=D; ++i) AddEdge(i,i+1);
now=D+1;
for(int i=2; i<=D&&now<n; ++i) Link(i,D-std::max(i-1,D+1-i));
for(int i=1; i<=n; ++i) if(dgr[i]>K) return 0;
// DFS1(1,1,0), Max=0, DFS1(V,V,0);
// if(Max!=D) return 0;
return now>=n;
}
void DFS_for_Ans(int x,int f)
{
for(int i=H[x]; i; i=nxt[i])
if(to[i]!=f) printf("%d %d\n",x,to[i]), DFS_for_Ans(to[i],x);
}
int main()
{
n=read(), D=read(), K=read();
if(Solve()) puts("YES"), DFS_for_Ans(1,1);
else puts("NO");
return 0;
}
F.Abbreviation
待补
Codeforces Round #494 (Div 3) (A~E)的更多相关文章
- Codeforces Round #494 (Div. 3)
刚好在考完当天有一场div3,就开了个小号打了,打的途中被辅导员喊去帮忙,搞了二十分钟-_-||,最后就出了四题,题解如下:题目链接:http://codeforces.com/contest/100 ...
- Codeforces Round #494 (Div. 3) D. Coins and Queries(贪心
题目链接 题目大意:给你n个物品,第iii个物品价值aia_iai,询问q次,问你能不能凑出价值为qiq_iqi的物品. 小贪心吧.从大到小找,能拿就拿就行了. #include<bits/ ...
- Codeforces Round #494 (Div. 3) D. Coins and Queries (贪心,数学)
题意:给你一组全是\(2^d\ (d\ge0)\)的数,询问q次,每次询问一个数,问这个数是否能够由原数组中的数相加得到,如果能,输出最少用多少个数,否则输出\(-1\). 题解:首先贪心得出结论:如 ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #368 (Div. 2)
直达–>Codeforces Round #368 (Div. 2) A Brain’s Photos 给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输 ...
- cf之路,1,Codeforces Round #345 (Div. 2)
cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅..... ...
- Codeforces Round #279 (Div. 2) ABCDE
Codeforces Round #279 (Div. 2) 做得我都变绿了! Problems # Name A Team Olympiad standard input/outpu ...
- 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 ...
随机推荐
- 20165230 《Java程序设计》实验二(Java面向对象程序设计)实验报告
20165230 <Java程序设计>实验二(Java面向对象程序设计)实验报告 一.实验报告封面 课程:Java程序设计 班级:1652班 姓名:田坤烨 学号:20165230 成绩: ...
- 关于java线程锁synchronized修饰普通方法与静态方法的区别
最近研究线程方面问题,关于这个synchronized锁修饰的问题,先是修饰普通方法,然后通过两个线程,各自执行自己对象的锁,发现方法执行互不影响,代码如下: private static int n ...
- JDk1.8源码StringBuffer
一.概念 StringBuffer A thread-safe, mutable sequence of characters. A string buffer is like a {@link St ...
- F5后端nginx+tomcat应用如何获得用户的真实ip【转】
根据业务需要要求记录每个通过wap或者客户端访问我们服务器的用户真实ip但是由于业务前端部署了两个3900系列的F5设备导致程序一直获得F5设备自身的ip,所以笔者考虑可能是因为F5导致无法获得用户的 ...
- 高性能.NET MVC之QMVC!
ASP.NET!这个词代表者一个单词Fat!因为他总是捆绑着太多的太多的类,太多太多的各种功能!你也许会用到,如果你反编译或阅读他们开源的源码,你会不会犹如在大海中找不到方向?不管是Web form ...
- Codeforces Round #504 E. Down or Right
Codeforces Round #504 E. Down or Right 题目描述:交互题. 有一个\(n \times n\)的方阵,有一些格子是障碍,从\((1, 1)\)出发,只能向右向下走 ...
- @PrePersist
@PrePersistpublic void prePersist() { updatedAt = new Timestamp(System.currentTimeMillis()); created ...
- python面向对象(七)属性方法的添加
通常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性.下来我就讲下添加属性和方法,同时也将下限值添加属性方法. 添加属性 ...
- wpf listBox的item,滚动条拖到低部,底部内容不能完全显示的问题
listBox外部包裹一层 <ScrollViewer VerticalScrollBarVisibility="Auto"> 然后修改listBox的style,取消 ...
- servlet 学习笔记(三)
同一用户的不同页面共享数据有以下四种方法: 1.sendRedirect()跳转 2.session技术 3.隐藏表单提交(form) 4. cookie技术(小甜饼) --------------- ...