http://codeforces.com/contest/731

不发题面了,自己点链接

总结一下

考场上

原以为这次要加很多raiting。。。

但FST狗记邓,只加了58rating

总结一下

  • ABC切得很快(保持)
  • B题WA了2发不应该,没有想清楚
  • F题写了大暴力,但不优美,虽然过了P,但就没有想了,很严重问题,得意忘形,虽然知道FST,但有侥幸心里,真正考试就完了
  • 以为拿到了分就不干事了,严重问题,真正考试一定要写暴力拍
  • 后来没有干事,既没有hack又没有去写DE不应该

A Night at the Museum

Solution:Implementation,String

// <A.cpp> - Sun Oct 16 17:45:40 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#define MOD 1000000007
#define INF 1e9
using namespace std;
typedef long long LL;
const int MAXN=110;
inline int gi() {
register int w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
char s[MAXN];
int main()
{
freopen("A.in","r",stdin);
freopen("A.out","w",stdout);
scanf("%s",s);int l=strlen(s);
char ch='a';int ans=0;
for(int i=0;i<l;i++)
ans+=min((s[i]-ch+26)%26,(ch-s[i]+26)%26),ch=s[i];
printf("%d",ans);
return 0;
}

B Coupons and Discounts

题目大意:每天要买a[i]个东西,买的方式有两种:两天一天买一个 or 一天买两个,问是否有合法方案

Solution:Greedy+递推,考虑一天,奇数的话必须要用第一种方式,那就之后那天要买一个,几个flag即可,一路推过去,<0不合法,偶数的话直接用第二种→ 贪心,不用麻烦后面那天。

反思:居然wa了两发,7~80分啊。。(notice 最后一次是否要之后填充,flag清空)

// <B.cpp> - Sun Oct 16 17:45:40 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#define MOD 1000000007
#define INF 1e9
using namespace std;
typedef long long LL;
const int MAXN=100010;
const int MAXM=100010;
inline int gi() {
register int w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
void pri(){printf("NO");exit(0);}
int main()
{
freopen("B.in","r",stdin);
freopen("B.out","w",stdout);
int n=gi(),last=0;
for(int i=1;i<=n;i++){
int x=gi()-last;
if(x<0)pri();
if(x&1)last=1;else last=0;
}if(last)pri();else printf("YES");
return 0;
}

C Socks

有n只袜子,每只袜子有一个颜色,有一些约束(即某天的左右两边袜子颜色要相同),然后问你最少要改多少只?

显然并查集,然后贪心,一个联通块内的颜色要全相同,Greedy-找出颜色已经相同的最多数目,答案加上其他要改的即可

// <C.cpp> - Sun Oct 16 17:45:40 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#define MOD 1000000007
#define INF 1e9
using namespace std;
typedef long long LL;
const int MAXN=200010;
inline int gi() {
register int w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
int f[MAXN],a[MAXN],c[MAXN];vector<int>b[MAXN];
int find(int x){return f[x]==x?x:f[x]=find(f[x]);}
int main()
{
freopen("C.in","r",stdin);
freopen("C.out","w",stdout);
int n=gi(),m=gi(),k=gi(),ans=0;k++;
for(int i=1;i<=n;i++)a[i]=gi(),f[i]=i;
while(m--){
int l=gi(),r=gi();
if(find(l)!=find(r))f[f[l]]=f[r];
}
for(int i=1;i<=n;i++)
b[find(i)].push_back(i);
for(int i=1;i<=n;i++){
if(f[i]!=i)continue;int now=0;
for(int j=0,to=b[i].size();j<to;j++){
c[a[b[i][j]]]++;
if(c[a[b[i][j]]]>now)now=c[a[b[i][j]]];
}
ans+=b[i].size()-now;
for(int j=0,to=b[i].size();j<to;j++)c[a[b[i][j]]]--;
}printf("%d",ans);
return 0;
}

D

挖坑~

E

挖坑~

F Video Cards

给你一列数a[],选择一个标准,使得其他的数减小至他的倍数,使得和最大?

CF给的标签:brute force(暴力)implementation(实现)number theory(数论)-醉了
F是个送肉题。。。FST。。。。
直接看代码吧
暴力也分优美与垃圾
TLE on Test 23(P都过了,2×10^5都过了,结果FST,10^4没过)-暴力加break
// <F.cpp> - Sun Oct 16 17:45:40 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
typedef long long LL;
const int MAXN=200010;
inline int gi() {
register int w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
int a[MAXN];LL f[MAXN];
int main()
{
int n=gi();LL ans=0;
for(int i=1;i<=n;i++)a[i]=gi();
sort(a+1,a+1+n);
for(int i=1;i<=n;i++)f[i]=f[i-1]+a[i];
for(int i=1;i<=n;i++){
LL now=a[i];
for(int j=n;j>i;j--){
if(now+f[j]-f[i]<=ans)break;
now+=a[j]/a[i]*a[i];
}
if(now>ans)ans=now;
}printf("%I64d",ans);
return 0;
}

AC-暴力+统计

// <F.cpp> - Sun Oct 16 17:45:40 2016
// This file is made by YJinpeng,created by XuYike's black technology automatically.
// Copyright (C) 2016 ChangJun High School, Inc.
// I don't know what this program is. #include <iostream>
#include <vector>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;
typedef long long LL;
const int MAXN=200001;
inline int gi() {
register int w=0,q=0;register char ch=getchar();
while((ch<'0'||ch>'9')&&ch!='-')ch=getchar();
if(ch=='-')q=1,ch=getchar();
while(ch>='0'&&ch<='9')w=w*10+ch-'0',ch=getchar();
return q?-w:w;
}
LL s[MAXN];int a[MAXN];
int main()
{
freopen("F.in","r",stdin);
freopen("F.out","w",stdout);
int n=gi();LL ans=0;
for(int i=1;i<=n;i++)a[gi()]++;
for(int i=1;i<MAXN;i++)s[i]=s[i-1]+a[i];
for(int i=1;i<MAXN;i++)
if(a[i]){
LL now=0;int t=MAXN/i;
for(int j=1;j<t;j++)
now+=1LL*(s[i*(j+1)-1]-s[i*j-1])*j*i;
now+=1LL*(s[MAXN-1]-s[i*t-1])*i*t;
if(now>ans)ans=now;
}
printf("%lld",ans);
return 0;
}

  

【Codeforces】Round #376 (Div. 2)的更多相关文章

  1. 【Codeforces】Round #491 (Div. 2) 总结

    [Codeforces]Round #491 (Div. 2) 总结 这次尴尬了,D题fst,E没有做出来.... 不过还好,rating只掉了30,总体来说比较不稳,下次加油 A:If at fir ...

  2. 【Codeforces】Round #488 (Div. 2) 总结

    [Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rat ...

  3. 【Codeforces】Round #375 (Div. 2)

    Position:http://codeforces.com/contest/723 我的情况 啊哈哈,这次raiting肯定要涨,接受过上次的教训,先用小号送肉,大号都是一发切,重回蓝咯 结果... ...

  4. 【Codeforces】 Round #374 (Div. 2)

    Position:http://codeforces.com/contest/721 我的情况 开始还是rank1,秒出C.(11:00机房都走光了,我ma到11:05才走,只打了一个小时) 结果.. ...

  5. 【Codeforces】Round #460 E - Congruence Equation 中国剩余定理+数论

    题意 求满足$na^n\equiv b \pmod p$的$n$的个数 因为$n \mod p ​$循环节为$p​$,$a^n\mod p​$循环节为$p-1​$,所以$na^n \mod p​$循环 ...

  6. Codeforces Beta Round #80 (Div. 2 Only)【ABCD】

    Codeforces Beta Round #80 (Div. 2 Only) A Blackjack1 题意 一共52张扑克,A代表1或者11,2-10表示自己的数字,其他都表示10 现在你已经有一 ...

  7. Codeforces Beta Round #83 (Div. 1 Only)题解【ABCD】

    Codeforces Beta Round #83 (Div. 1 Only) A. Dorm Water Supply 题意 给你一个n点m边的图,保证每个点的入度和出度最多为1 如果这个点入度为0 ...

  8. 【CF981F】Round Marriage(二分答案,二分图匹配,Hall定理)

    [CF981F]Round Marriage(二分答案,二分图匹配,Hall定理) 题面 CF 洛谷 题解 很明显需要二分. 二分之后考虑如果判定是否存在完备匹配,考虑\(Hall\)定理. 那么如果 ...

  9. Codeforces Beta Round #79 (Div. 2 Only)

    Codeforces Beta Round #79 (Div. 2 Only) http://codeforces.com/contest/102 A #include<bits/stdc++. ...

随机推荐

  1. 笔试算法题(51):简介 - 红黑树(RedBlack Tree)

    红黑树(Red-Black Tree) 红黑树是一种BST,但是每个节点上增加一个存储位表示该节点的颜色(R或者B):通过对任何一条从root到leaf的路径上节点着色方式的显示,红黑树确保所有路径的 ...

  2. 简述站点访问控制、基于用户的访问控制、httpd虚拟主机、持久链接等应用配置实例

    1 站点访问控制 可基于两种机制指明对哪些资源进行何种访问控制: 文件系统路径 URL路径 注意: 从上到下匹配,匹配到一个就立即执行 如果没有子目录的访问控制,但是有父目录的访问控制,则子目录继承父 ...

  3. selenium切换frame(iframe)

    例如网页代码为: <!DOCTYPE html><html lang="en"><head> <meta charset="UT ...

  4. UVa 548 树(已知其中两种遍历, 还原树)

    题意: 给出后序遍历和先序遍历, 还原一棵树, 然后求出从根节点到叶子的最小路劲和. 分析: 已知后序遍历, 那么后序的最后一个节点就是根节点, 然后在中序中找到这个节点, 它的左边就是左子树, 它的 ...

  5. Analyzer原理

    [常用分词器] SimpleAnalyzer StopAnalyzer WhitespaceAnalyzer StandardAnalyze [TokenStream] she is a studen ...

  6. jquery动态绑定元素

    按照正常给静态元素绑定事件的写法换成给动态元素绑定事件会不管用,要用下面的方式: 简单说就是给要绑定元素的父元素绑定事件,参数中指明要绑定该父元素下面的哪个元素就行,这样就不管你这个元素是不是新增的, ...

  7. [codevs3044][POJ1151]矩形面积求并

    [codevs3044][POJ1151]矩形面积求并 试题描述 输入n个矩形,求他们总共占地面积(也就是求一下面积的并) 输入 可能有多组数据,读到n=0为止(不超过15组) 每组数据第一行一个数n ...

  8. Reactor Cooling(无源汇有上下界网络流)

    194. Reactor Cooling time limit per test: 0.5 sec. memory limit per test: 65536 KB input: standard o ...

  9. [NOIP2006] 提高组 洛谷P1065 作业调度方案

    题目描述 我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成.每个工件的每道工序都有指定的加工时间. 每个工件的每个工序称为一个操作,我们用记号j-k表示一个 ...

  10. 【IntelliJ 】IntelliJ IDEA 自动导入包 快捷方式 关闭重复代码提示

    idea可以自动优化导入包,但是有多个同名的类调用不同的包,必须自己手动Alt+Enter设置 设置idea导入包 勾选标注 1 选项,IntelliJ IDEA 将在我们书写代码的时候自动帮我们优化 ...