CSP-S2 Review: 模拟
Luogu 1087 FBI tree
#include <cstdio>
#include <cstring>
char s[4100];
int n;
char fbi(int l, int r) {
bool f0=false, f1=0;
for (int k=l; k<r; k++){
if (s[k]=='0') f0=true; else f1=true;
if (f0 && f1) return 'F';
}
if (f0) return 'B'; return 'I';
}
void dfs(int l, int r) {
if (r-l>1){
int p=l+(r-l)/2;
dfs(l, p), dfs(p, r);
}
putchar(fbi(l,r));
}
int main() {
scanf("%d", &n); scanf("%s", s);
dfs(0, strlen(s));
return 0;
}
Bzoj 1635 [Usaco2007 JAN] Tallest Cow
#include <cstdio>
#include <cstring>
#define max(A, B) ((A)>(B)?(A):(B))
#define min(A, B) ((A)<(B)?(A):(B))
int n, I, H, R, t;
int f[10005];
bool v[10005][10005];
int main() {
scanf("%d%d%d%d", &n, &I, &H, &R);
for (int i=1; i<=n; ++i) f[i]=H;
while (R--) {
register int a, b;
scanf("%d%d", &a, &b);
register int x=min(a, b), y=max(a, b);
if (v[x][y]) continue; v[x][y]=true;
for (int i=x+1; i<y; ++i) --f[i];
}
for (int i=1; i<=n; ++i) printf("%d\n", f[i]);
return 0;
}
Bzoj 1621 [Usaco2008 Open] Roads Around The Farm
#include <cstdio>
int cnt, n, k;
void dfs(int x) {
if (x<=k || (x-k)&1) ++cnt; else dfs(x-k>>1), dfs(x+k>>1);
}
int main() {
scanf("%d%d", &n, &k);
dfs(n);
printf("%d\n", cnt);
return 0;
}
Bzoj 1088 [SCOI2005] Mine
#include <cstdio>
#include <cstring>
int n, d[10005], p[10005], ans;
inline bool chk() {
for (int i=2; i<=n; ++i) p[i+1]=d[i]-p[i-1]-p[i];
return !p[n+1];
}
int main() {
scanf("%d", &n);
memset(p, -1, sizeof p);
for (int i=1; i<=n; ++i) scanf("%d", &d[i]);
for (int i=0; i<=d[1]; ++i) {
memset(p, 0, sizeof p);
p[1]=i, p[2]=d[1]-i;
if (chk()) ++ans;
}
printf("%d\n", ans);
return 0;
}
- [ ] Bzoj 1028
CSP-S2 Review: 模拟的更多相关文章
- CSP复赛day2模拟题
没错,我又爆零了.....先让我自闭一分钟.....so 当你忘记努力的时候,现实会用一记响亮的耳光告诉你东西南北在哪. 好了,现在重归正题: 全国信息学奥林匹克联赛(NOIP2014) 复赛模拟题 ...
- csp 201709-2 优先队列模拟
数据规模: 用优先队列对各个事件的发生先后记录即可: #include<iostream> #include<queue> using namespace std; ]; st ...
- hdu1047(模拟大量的循环添加)
标题信息:总结多个大整数,(使用add循环相加的功能) http://acm.hdu.edu.cn/showproblem.php? pid=1047 AC代码: /** *大数的循环加法,转化为字 ...
- hdu1753()模拟大型实景数字相加
标题信息: 手动求大的实数在一起, pid=1753">http://acm.hdu.edu.cn/showproblem.php?pid=1753 AC代码: /** *大实数相加 ...
- 2018.9.5 Java中使用栈来模拟队列
栈的规律是是先进后出 队列的规律是先进先出 栈模拟队列 首先我们定义两个栈,一个放数据,一个出数据,判断B栈是否有元素,有元素则直接pop:没有元素则需要我们将A里面的元素出栈然后放到B里面,再取出, ...
- 2019.10.26 CSP%您赛第三场
\(CSP\)凉心模拟^_^ --题源\(lqx.lhc\)等各位蒟蒻 题目名称 比赛 传递消息 开关灯 源文件名 \(competition.cpp\) \(message.cpp\) \(ligh ...
- NOIP模拟83(多校16)
前言 CSP之后第一次模拟赛,感觉考的一般. 不得不吐槽多校联测 OJ 上的评测机是真的慢... T1 树上的数 解题思路 感觉自己思维有些固化了,一看题目就感觉是线段树. 考完之后才想起来这玩意直接 ...
- hdu1316(大数的斐波那契数)
题目信息:求两个大数之间的斐波那契数的个数(C++/JAVA) pid=1316">http://acm.hdu.edu.cn/showproblem.php? pid=1316 这里 ...
- (NOIP)CSP-S 2019前计划
前言 无 1.NOIP原题板刷 NOIP原题板刷 这是一篇咕了的blog 2.牛客 & ACwing & 洛谷 网课学习 收获还是蛮大的,不过我没有写博客 3.codeforces专项 ...
随机推荐
- [19/09/02-星期一] 基础知识_Python入门
一.计算机基础 用户界面:TUI-文本交互界面: GUI-图形化交互界面 命令行:就是一种文本交互界面,可以使用一个一个的指令来操作计算机.任何计算机的操作系统都包含命令行(Windows.Linux ...
- 在excel中如何计算两个时间之间的差[转]
因为时间是由序列号所代表的,用户可以用较晚的时间减去较早的时间以得到间隔.例如,单元格A3含有5:30,单元格B3含有14:00,下面的公式返回8:30(间隔8小时30分). =B3-A3 然而,如果 ...
- QT linux下显示中文的问题
如果中文显示为乱码,那么是字符集不对. 应该设置字符集: QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK") ...
- 使用foreach一次性添加多个单选按钮
<?php //这个函数创建一个单选按钮 //函数接收一个论据:值 //函数也会让按钮有"黏性"-->记住你是如何填写它的. function create_radio ...
- CDQ分治总结
\(CDQ\)分治小结 标签:知识点总结 阅读体验:https://zybuluo.com/Junlier/note/1326395 身为一个资深菜鸡 \(CDQ\)分治一开始学了一晚上,后来某一天又 ...
- HNUSTOJ-1675 Morse Code(DFS+字典序搜索)
1675: Morse Code 时间限制: 2 Sec 内存限制: 128 MB提交: 73 解决: 33[提交][状态][讨论版] 题目描述 摩尔斯电码(英语:Morse Code)是一种时通 ...
- gomock
参考 使用Golang的官方mock工具--gomock
- mongodb连接警告修复
问题 Node.js中mongoose模块连接MongoDB数据库时提示(node:12580) DeprecationWarning: current URL string parser is de ...
- android studio配置模拟器
配置模拟器在Android开发中,肯定是要写好代码看结果的,如果使用as中自带的模拟器太low,启动速度又慢,网上有很多教程推荐使用genymotion模拟器的,可是如果是新手我建议选择更好入门的第三 ...
- 2018 Web 开发者路线图[转载]
2018 Web 开发者路线图[转载] https://qianduan.group/posts/5a66f36e0cf6b624d2239c74?hmsr=toutiao.io&utm_me ...