2016 Multi-University Training Contest 8
solved 4/11
2016 Multi-University Training Contest 8
贪心 1001 Ball(BH)
代码:
#include <bits/stdc++.h> const int N = 1000 + 5;
std::pair<int, int> a[N];
int n, m; int main() {
int T;
scanf ("%d", &T);
while (T--) {
scanf ("%d%d", &n, &m);
for (int i=1; i<=n; ++i) {
int c;
scanf ("%d", &c);
a[i] = {0, c};
}
for (int i=1; i<=n; ++i) {
int c;
scanf ("%d", &c);
for (int j=1; j<=n; ++j) {
if (a[j].second == c && !a[j].first) {
a[j].first = i;
break;
}
}
}
while (m--) {
int l, r;
scanf ("%d%d", &l, &r);
std::sort (a+l, a+r+1);
}
bool flag = true;
for (int i=1; i<=n; ++i) {
if (a[i].first != i) {
flag = false;
break;
}
}
puts (flag ? "Yes" : "No");
}
return 0;
}
物理+微分方程 1006 physics(BH)
代码:
#include <bits/stdc++.h> int v[100005]; int main() {
int T;
scanf ("%d", &T);
while (T--) {
int n, c;
scanf ("%d%d", &n, &c);
for (int i=1; i<=n; ++i) {
int x, d;
scanf ("%d%d%d", v+i, &x, &d);
}
std::sort (v+1, v+1+n);
int m;
scanf ("%d", &m);
while (m--) {
int t, k;
scanf ("%d%d", &t, &k);
printf ("%.3f\n", sqrt ((double) v[k]*v[k] + 2.0*c*t));
}
}
return 0;
}
线段树+优化 1008 Rikka with Sequence(BH)
代码:(数据加强后TLE)
#include <bits/stdc++.h> typedef long long ll;
const int N = 1e5 + 5; #define lch o << 1
#define rch o << 1 | 1 ll sum[N<<2], same[N<<2], add[N<<2]; void push_up(int o) {
if (same[lch] == same[rch])
same[o] = same[lch];
else
same[o] = 0;
sum[o] = sum[lch] + sum[rch];
} void push_down1(int o, int l, int r) {
add[lch] += add[o];
add[rch] += add[o];
int mid = l + r >> 1;
sum[lch] += add[o] * (mid-l+1);
sum[rch] += add[o] * (r-mid);
if (same[lch])
same[lch] += add[o];
if (same[rch])
same[rch] += add[o];
add[o] = 0;
} void push_down2(int o, int l, int r) {
same[lch] = same[rch] = same[o];
int mid = l + r >> 1;
sum[lch] = same[o] * (mid-l+1);
sum[rch] = same[o] * (r-mid);
same[o] = 0;
} void build(int o, int l, int r) {
add[o] = 0;
if (l == r) {
scanf ("%I64d", &sum[o]);
same[o] = sum[o];
return ;
}
int mid = l + r >> 1;
build (lch, l, mid);
build (rch, mid+1, r);
push_up (o);
} void modify_add(int o, int l, int r, int ql, int qr, int c) {
if (ql <= l && r <= qr) {
sum[o] += (ll) (r - l + 1) * c;
if (same[o])
same[o] += c;
else
add[o] += c;
return ;
}
if (add[o])
push_down1 (o, l, r);
if (same[o])
push_down2 (o, l, r);
int mid = l + r >> 1;
if (ql <= mid)
modify_add (lch, l, mid, ql, qr, c);
if (qr > mid)
modify_add (rch, mid+1, r, ql, qr, c);
push_up (o);
} void modify_sqrt(int o, int l, int r, int ql, int qr) {
if (ql <= l && r <= qr && same[o]) {
same[o] = (ll) sqrt ((double) same[o]);
sum[o] = same[o] * (r - l + 1);
add[o] = 0;
return ;
}
if (add[o])
push_down1 (o, l, r);
if (same[o])
push_down2 (o, l, r);
int mid = l + r >> 1;
if (ql <= mid)
modify_sqrt (lch, l, mid, ql, qr);
if (qr > mid)
modify_sqrt (rch, mid+1, r, ql, qr);
push_up (o);
} ll query(int o, int l, int r, int ql, int qr) {
if (ql <= l && r <= qr) {
return sum[o];
}
if (add[o])
push_down1 (o, l, r);
if (same[o])
push_down2 (o, l, r);
int mid = l + r >> 1;
ll ret = 0;
if (ql <= mid)
ret += query (lch, l, mid, ql, qr);
if (qr > mid)
ret += query (rch, mid+1, r, ql, qr);
return ret;
} int main() {
int T;
scanf ("%d", &T);
while (T--) {
int n, m;
scanf ("%d%d", &n, &m);
build (1, 1, n);
int tp, ql, qr, c;
while (m--) {
scanf ("%d%d%d", &tp, &ql, &qr);
if (tp == 1) {
scanf ("%d", &c);
modify_add (1, 1, n, ql, qr, c);
} else if (tp == 2) {
modify_sqrt (1, 1, n, ql, qr);
} else {
printf ("%I64d\n", query (1, 1, n, ql, qr));
}
}
}
return 0;
}
构造 1011 Rikka with Parenthesis II(BH)
代码:
#include <bits/stdc++.h> const int N = 1e5 + 5;
char str[N];
int n; bool check() {
if (n & 1)
return false; if (n == 2) {
if (strcmp (str, ")(") != 0)
return false;
} int l = 0, r = 0;
for (int i=0; i<n; ++i) {
if (str[i] == '(')
l++;
else
r++;
}
return l == r;
} int main() {
//freopen ("1011.txt", "r", stdin);
int T;
scanf ("%d", &T);
while (T--) {
scanf ("%d", &n);
scanf ("%s", str); //printf ("%s ", str); if (!check ()) {
puts ("No");
continue;
} int top = 0, error = 0, id = -1;
for (int i=0; i<n; ++i) {
if (str[i] == '(') {
top++;
} else {
if (top == 0) {
error++;
id = i;
break;
}
else
top--;
}
} if (!error) {
puts (top == 0 ? "Yes" : "No");
} else {
str[id] = '(';
top = error = 0;
for (int i=0; i<n; ++i) {
if (str[i] == '(') {
top++;
} else {
if (top == 0) {
error++;
break;
}
top--;
}
}
puts (((!error && top == 2) ? "Yes" : "No"));
}
}
return 0;
}
2016 Multi-University Training Contest 8的更多相关文章
- 2016 Al-Baath University Training Camp Contest-1
2016 Al-Baath University Training Camp Contest-1 A题:http://codeforces.com/gym/101028/problem/A 题意:比赛 ...
- 2016 Al-Baath University Training Camp Contest-1 E
Description ACM-SCPC-2017 is approaching every university is trying to do its best in order to be th ...
- 2016 Al-Baath University Training Camp Contest-1 A
Description Tourist likes competitive programming and he has his own Codeforces account. He particip ...
- 2016 Al-Baath University Training Camp Contest-1 J
Description X is fighting beasts in the forest, in order to have a better chance to survive he's gon ...
- 2016 Al-Baath University Training Camp Contest-1 I
Description It is raining again! Youssef really forgot that there is a chance of rain in March, so h ...
- 2016 Al-Baath University Training Camp Contest-1 H
Description You've possibly heard about 'The Endless River'. However, if not, we are introducing it ...
- 2016 Al-Baath University Training Camp Contest-1 G
Description The forces of evil are about to disappear since our hero is now on top on the tower of e ...
- 2016 Al-Baath University Training Camp Contest-1 F
Description Zaid has two words, a of length between 4 and 1000 and b of length 4 exactly. The word a ...
- 2016 Al-Baath University Training Camp Contest-1 D
Description X is well known artist, no one knows the secrete behind the beautiful paintings of X exc ...
- 2016 Al-Baath University Training Camp Contest-1 C
Description Rami went back from school and he had an easy homework about bitwise operations (and,or, ...
随机推荐
- xocde真机测试 内存查看
如上, 有的时候真机调试, 内存和cpu占用没有被展示出来, 那么真机测试的时候怎么查看我们当前使用的内存呢, 有办法: instrument->activity monitory 点击左上角的 ...
- Cocos2d坐标系转换
Cocos2d-x坐标系和OpenGL坐标系相同,都是起源于笛卡尔坐标系(高中数学里面那种). 笛卡尔坐标系 笛卡尔坐标系中定义右手系原点在左下角,x向右,y向上,z向外,OpenGL坐标系为笛卡尔右 ...
- hiho #1143 : 骨牌覆盖问题·一 (运用快速幂矩阵)
#1143 : 骨牌覆盖问题·一 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 骨牌,一种古老的玩具.今天我们要研究的是骨牌的覆盖问题:我们有一个2xN的长条形棋盘,然 ...
- 在CI中集成phpmailer,方便使用SMTP发送邮件
直接使用phpmailer的话,有时候不是很方便,特别你的很多功能都是基于CI完成的时候,要相互依赖就不方便了,所以在想,那是否可以将phpmailer集成到CI中呢,像使用email类这样使用他,功 ...
- 【SpringMVC】SpringMVC系列9之Model数据返回到View
9.Model数据返回到View 9.1.概述 Spring MVC 提供了以下几种途径输出模型数据: ModelAndView: 处理方法返回值类型为 ModelAndView 时, 方法体 ...
- 62. 链表重排[Reorder List]
[本文链接] http://www.cnblogs.com/hellogiser/p/reorder-list.html [题目] Given a singly linked list L: L0→L ...
- Android Studio项目引入外部库注意事项(PullToRefresh)
Android Studio开发App项目时引入第三方库是个比较麻烦的事情.之前导入Volley就折腾了好久,导入下拉刷新控件PullToRefresh时又碰到了各种问题.在此记录一下,以便查阅. 一 ...
- 【JAVA、C++】LeetCode 016 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...
- CodeForces - 427B (模拟题)
Prison Transfer Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Sub ...
- 【读书笔记】读《JavaScript DOM 编程艺术-第2版》
1.DHTML DHTML曾被认为是HTML/XHTML.CSS和JavaScript相结合的产物,就像今天的HTML5那样,但把这些东西真正凝聚在一起的是DOM.如果真的需要来描述这一过程的话,“D ...