A - B +/- A

#include <bits/stdc++.h>
int main() {
int a, b; std::cin >> a >> b;
b % a ? std::cout << b - a : std::cout << a + b;
}

B - Foods Loved by Everyone

#include <bits/stdc++.h>
int cnt[31], ans;
int main() {
int n, m; std::cin >> n >> m;
for(int i = 1; i <= n; ++i) {
int k, x; std::cin >> k;
while(k--) std::cin >> x, ++cnt[x];
}
for(int i = 1; i <= m; ++i) if(cnt[i] == n) ++ans;
std::cout << ans << std::endl;
}

C - Monsters Battle Royale

答案即为所有数的\(\gcd\)。

考虑\(\gcd(n,n-x)=\gcd(n,x)\)。

实际上每次减法就是在重复这个过程。

#include <bits/stdc++.h>
int main() {
int n, a, x; std::cin >> n >> a; --n;
while(n--) std::cin >> x, a = std::__gcd(a, x);
printf("%d\n",a);
}

D - Match Matching

设\(f[i]\)表示用了\(i\)根火柴,能拼出的数的个数,输出答案对每个dp值维护一个vector即可。

\[f[i]=max\{f[i-a[j]]+1\}
\]

每次转移都将原数组的vector也转过去,push个a[j]进去即可。

注意排序,按数字大小倒序排序,最后倒序输出出去。

复杂度\(O(nmlen+mlogm)\),因为是dp,所以这个len随机数据下实际不会跑很满,总时间才用了104ms

#include <bits/stdc++.h>
const int N = 10010;
const int s[10] = {0,2,5,5,4,5,6,3,7,6};
struct Node {int id, cnt;} a[20];
int f[N], n, m;
std::vector<int>v[N];
bool operator < (Node a, Node b) { return a.id > b.id; }
int main() {
std::cin >> n >> m;
for(int i = 1; i <= m; ++i) std::cin >> a[i].id, a[i].cnt = s[a[i].id];
std::sort(a + 1, a + m + 1); std::memset(f, -0x3f, sizeof(f)); f[0] = 0;
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= m; ++j)
if(i - a[j].cnt >= 0 && f[i - a[j].cnt] + 1 > f[i])
v[i] = v[i - a[j].cnt], v[i].push_back(a[j].id), f[i] = f[i - a[j].cnt] + 1;
for(int i = v[n].size() - 1; i >= 0; --i) std::cout << v[n][i];
}

AtCoder Beginner Contest 118 解题报告的更多相关文章

  1. AtCoder Beginner Contest 122 解题报告

    手速选手成功混进rated only里面的前30名,但是总排名就到110+了... A - Double Helix #include <bits/stdc++.h> #define ll ...

  2. AtCoder Beginner Contest 146解题报告

    题目地址 https://atcoder.jp/contests/abc146/tasks 感觉没有什么有意思的题... 题解 A #include <bits/stdc++.h> usi ...

  3. Atcoder Beginner Contest 124 解题报告

    心态爆炸.本来能全做出来的.但是由于双开了Comet oj一个比赛,写了ABC就去搞那个的B题 还被搞死了. 回来写了一会D就过了.可惜比赛已经结束了.真的是作死. A - Buttons #incl ...

  4. AtCoder Beginner Contest 120 解题报告

    为啥最近都没有arc啊... A - Favorite Sound #include <algorithm> #include <iostream> #include < ...

  5. AtCoder Beginner Contest 117 解题报告

    果然abc都是手速场. 倒序开的qwq. D题因为忘记1e12二进制几位上界爆了一发. A - Entrance Examination 就是除一下就行了... 看样例猜题意系列. #include& ...

  6. AtCoder Beginner Contest 132 解题报告

    前四题都好水.后面两道题好难. C Divide the Problems #include <cstdio> #include <algorithm> using names ...

  7. AtCoder Beginner Contest 129 解题报告

    传送门 写了四个题就跑去打球了.第五题应该能肝出来的. A - Airplane #include <bits/stdc++.h> using namespace std; inline ...

  8. AtCoder Beginner Contest 127 解题报告

    传送门 非常遗憾.当天晚上错过这一场.不过感觉也会掉分的吧.后面两题偏结论题,打了的话应该想不出来. A - Ferris Wheel #include <bits/stdc++.h> u ...

  9. AtCoder Beginner Contest 126 解题报告

    突然6道题.有点慌.比赛写了五个.罚时爆炸.最后一个时间不太够+没敢写就放弃了. 两道题奇奇怪怪的WJ和20/20.今天的评测机是怎么了. A Changing a Character #includ ...

随机推荐

  1. EasyUI tab

    1.新增tab2.关闭tab3.右键菜单(关闭.关闭所有.关闭其它.关闭右侧.关闭左侧) //双击关闭tab $(document).on("dblclick", ".t ...

  2. java static 在java 中的使用。

    static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何 ...

  3. <转>浅谈缓存击穿、缓存并发和缓存失效

    原文地址:缓存穿透.缓存并发.缓存失效之思路变迁 我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题: 缓存穿透 缓存并发 缓存失效 一.缓存穿透       注 ...

  4. 包含 PHP和nginx的镜像 supervisord.conf Dockerfile 案例

    参考:https://github.com/romeOz/docker-nginx-php 1.命令: docker run --name app -d -p 8080:80 \ --net pg_n ...

  5. 认识ASP.NET Windows身份认证

    本文摘自:细说ASP.NET Windows身份认证 Forms身份认证虽然使用广泛,不过,如果是在 Windows Active Directory 的环境中使用ASP.NET, 那么使用Windo ...

  6. Github.Git

    Github介绍:http://www.yangzhiping.com/tech/github.html Git:http://res.crossincode.com/wechat/git.html

  7. 使用yield返回IEnumber<T>集合

    yield是对一种复杂行为的简化,就是将一段代码简化为一种简单的形式. 先看一下常规的写法,下面例子中,把找出字符串阵列中,某些元素包含有某些字符的元素. class Bi { public stri ...

  8. 11.11 开课二个月零七天(ajax和bootstrp做弹窗)

    1.用ajax做弹窗显示信息详情 nation.php <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...

  9. Intel x86_64 Architecture Background 3

    多层次的cache结构解决了CPU和DRAM之间处理速度不一致的问题,在Intel体系架构下,CPU核心和主存DRAM之间有着三层的cache.其中一层缓存L1和二层缓存L2在CPU核心(core)中 ...

  10. Name方法

    重命名磁盘文件.目录或文件夹. 语法 Name 旧路径名称 As 新路径名称 “Name”**** 语句语法包含以下部分: 部分 说明 旧路径名称 必需. 字符串表达式,指定现有的文件名和位置;可能包 ...