ARC 058
所以为啥要写来着...........
T1
直接枚举大于等于$n$的所有数,暴力分解判断即可
复杂度$O(10n \log n)$
#include <cstdio>
#include <iostream>
using namespace std; #define sid 15
#define ri register int
int n, k, D[sid]; int main() {
int x, flag;
cin >> n >> k;
for(ri i = ; i <= k; i ++) { cin >> x; D[x] = ; } for(ri i = n; i; i ++) {
x = i; flag = ;
while(x) {
if(D[x % ]) { flag = ; break; }
x /= ;
}
if(!flag)
{ printf("%d\n", i); break; }
}
return ;
}
T2
把第$B$列单独拿出来讨论转移即可
复杂度$O(H)$
#include <cstdio>
#include <iostream>
using namespace std; #define sid 200050
#define ri register int
#define mod 1000000007 int fac[sid], inv[sid];
int H, W, A, B; void Init_C() {
fac[] = fac[] = ; inv[] = inv[] = ;
for(ri i = ; i <= ; i ++) fac[i] = 1ll * fac[i - ] * i % mod;
for(ri i = ; i <= ; i ++) inv[i] = 1ll * (mod - mod / i) * inv[mod % i] % mod;
for(ri i = ; i <= ; i ++) inv[i] = 1ll * inv[i - ] * inv[i] % mod;
} int C(int n, int m) {
if(m > n) return ;
return 1ll * fac[n] * inv[m] % mod * inv[n - m] % mod;
} int way(int x1, int y1, int x2, int y2) {
return C(x2 - x1 + y2 - y1, x2 - x1);
} int main() {
Init_C();
cin >> H >> W >> A >> B;
int ans = , sum = ;
for(ri i = ; i <= H - A; i ++)
ans = (ans + 1ll * way(, , B, i) * way(B + , i, W, H) % mod) % mod;
printf("%d\n", ans);
return ;
}
T3
神奇状压.......
一开始没怎么想直接打了错误的$dp$....没过样例才意识到什么
正着计数不好计数,考虑反面,求解不存在连续区间和为$X, Y, Z$的数量
把$X, Y, Z$状压成为一种状态,当在末尾插入数字时,直接把状态前移,前面的数字会自动前移.....
然后暴力转移即可,复杂度$O(2^{17} * 40)$
#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std; #define ri register int
#define mod 1000000007 int bit[];
int N, x, y, z;
int f[][]; int main() {
cin >> N >> x >> y >> z;
for(ri i = ; i <= ; i ++) bit[i] = << i; int ans = ;
for(ri i = ; i <= N; i ++)
ans = 1ll * ans * % mod; f[][] = ;
int gg = bit[z - ] | bit[y + z - ] | bit[x + y + z - ];
int lim = bit[x + y + z] - ; for(ri i = ; i <= N; i ++)
for(ri S = ; S <= lim; S ++)
for(ri v = ; v <= ; v ++) {
int T = (S << v) | bit[v - ]; T &= lim;
if((T & gg) != gg) f[i][T] = (f[i][T] + f[i - ][S]) % mod;
} for(ri S = ; S <= lim; S ++)
if((S & gg) != gg) ans = (ans - f[N][S] + mod) % mod;
printf("%d\n", ans);
return ;
}
T4
留坑...
咕咕咕咕咕咕咕...
ARC 058的更多相关文章
- AtCoder 瞎做
目录 ARC 058 E - 和風いろはちゃん / Iroha and Haiku 题意 题解 技巧 代码 ARC 059 F - バイナリハック / Unhappy Hacking 题意 题解 技巧 ...
- AtCoder Regular Contest
一句话题解 因为上篇AGC的写的有点长……估计这篇也短不了所以放个一句话题解方便查阅啥的吧QwQ 具体的题意代码题解还是往下翻…… ARC 058 D:简单容斥计数. E:用二进制表示放的数字,然后状 ...
- canvas基础绘制-arc
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Convert BSpline Curve to Arc Spline in OpenCASCADE
Convert BSpline Curve to Arc Spline in OpenCASCADE eryar@163.com Abstract. The paper based on OpenCA ...
- 黑马程序员——ARC机制总结和用ARC建立模型
ARC 全称:Automatic Reference Counting 使用ARC 只需要在建立一个新的项目的时候把 下面的√打上 Xcode5以后都会默认建议开发者使用ARC机制 新的项目中如果有部 ...
- JSONKit在项目中使用设置(ARC与方法更新)
在项目中经常会遇到解析json的情况,如果有同学想要解析JSON,那么JSONKit可以是一个不错的选择. git中JSONKit 的地址为:https://github.com/johnezang/ ...
- MRC迁移ARC之__block
今日帮着同事把老项目从MRC迁移至ARC,大部分工作无非是删除release,[super dealloc]等方法,只要关闭了MRC编译选项后,编译器能自动帮你检查,block就有一些不一样了,发现许 ...
- Arc GIS engine10.2与VS2012的安装及匹配步骤
本文章已收录于: .embody { padding: 10px 10px 10px; margin: 0 -20px; border-bottom: solid 1px #ededed } ...
- 关于ARC下需要dealloc的相关内容
今天在项目中使用KVO添加观察者模式的时候,在返回上一级的时候竟然崩了.可是,看了很久,代码没有问题.最后,终于知道了需要添加dealloc 防止以后再出错,所以,便纪录下来.关于ARC下需要手动释放 ...
随机推荐
- Docker微容器Alpine Linux
Alpine 操作系统是一个面向安全的轻型 Linux 发行版. 它不同于通常 Linux 发行版,Alpine 采用了 musl libc 和 busybox 以减小系统的体积和运行时资源消耗,但功 ...
- Linux下文件目录权限和对应命令的总结
Linux下的权限有rwx三种,分别对应读,写,执行三种,在对文件和目录时,分别是下列含义: 对应权限的命令为: 文件: r-- cat, more, head, tail w-- echo, vi ...
- 新一代的USB 3.0传输规格
通用序列总线(USB) 从1996问世以来,一统个人电脑外部连接界面,且延伸至各式消费性产品,早已成为现代人生活的一部分.2000年发表的USB 2.0 High-speed规格,提供了480Mbps ...
- java-String中的 intern()
1. 首先String不属于8种基本数据类型,String是一个对象. 因为对象的默认值是null,所以String的默认值也是null:但它又是一种特殊的对象,有其它对象没有的一些特性. 2. ne ...
- Oracle中的dual
简介,摘自百度百科: Oracle提供的最小的表,不论进行何种操作(不要删除记录),它都只有一条记录——'X'. 例如:执行select * from dual,里面只有一条记录:执行insert i ...
- 轻量级运维工具-pssh,pscp,prsync,pslurp,pnuke
批量执行,并行传输,远程killall #yum安装 yum install pssh -y #yun安装后pscp改名为pscp.pssh #源码编译 wget https://pypi.pytho ...
- WebService初识
Web service 是一种跨编程语言和跨操作系统平台的远程调用技术,即跨平台远程调用技术.也就是说,不管是J2EE架构,还是.net架构 只要按照规范就可以进行通信,实现数据交互等. 这里说的&q ...
- Hadoop(一):概述
一.Hadoop是什么? Hadoop是一个由Apache基金会所开发的分布式系统基础架构.Hadoop框架最核心的设计包含两个方面,一是分布式文件系统(Hadoop Distributed File ...
- 转:google测试分享-分层测试
原文: http://blog.sina.com.cn/s/blog_6cf812be0102vctg.html 上一次分享了google测试分享-SET和TE,有一些自动化测试的细节没有说清楚,那这 ...
- HDU 3085 Nightmare Ⅱ(双向BFS)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3085 题目大意:给你一张n*m地图上,上面有有 ‘. ’:路 ‘X':墙 ’Z':鬼,每秒移动2步,可 ...