A - Little Artem and Presents (div2)

1 2 1 2这样加就可以了

#include <bits/stdc++.h>

typedef long long ll;
const int N = 1e5 + 5; int main() {
int n; scanf ("%d", &n);
int ans = n / 3 * 2;
if (n % 3) {
ans++;
}
printf ("%d\n", ans);
return 0;
}

B - Little Artem and Grasshopper (div2)

水题,暴力模拟一下

#include <bits/stdc++.h>

typedef long long ll;
const int N = 1e5 + 5;
char str[N];
int a[N]; int main() {
int n; scanf ("%d", &n);
scanf ("%s", str);
for (int i=0; i<n; ++i) {
scanf ("%d", a+i);
}
int now = 0;
while (true) {
if (now < 0 || now >= n) {
break;
}
if (a[now] == -1) {
puts ("INFINITE");
return 0;
}
if (str[now] == '>') {
int pre = now;
now = now + a[now];
a[pre] = -1;
} else {
int pre = now;
now = now - a[now];
a[pre] = -1;
}
}
puts ("FINITE");
return 0;
}

构造 C - Little Artem and Matrix (div2)

倒过来做,循环也反着来

#include <bits/stdc++.h>

typedef long long ll;
const int N = 1e2 + 5;
const int Q = 1e4 + 5;
int a[N][N];
int t[Q], row[Q], col[Q], x[Q]; int main() {
int n, m, q; scanf ("%d%d%d", &n, &m, &q);
for (int i=1; i<=q; ++i) {
scanf ("%d", t+i);
if (t[i] == 1) {
scanf ("%d", row+i);
}
if (t[i] == 2) {
scanf ("%d", col+i);
}
if (t[i] == 3) {
scanf ("%d%d%d", row+i, col+i, x+i);
}
//printf ("%d %d %d %d\n", t[i], row[i], col[i], x[i]);
}
for (int i=q; i>=1; --i) {
if (t[i] == 1) {
int last = a[row[i]][m];
for (int j=m; j>=2; --j) {
a[row[i]][j] = a[row[i]][j-1];
}
a[row[i]][1] = last;
}
if (t[i] == 2) {
int last = a[n][col[i]];
for (int j=n; j>=2; --j) {
a[j][col[i]] = a[j-1][col[i]];
}
a[1][col[i]] = last;
}
if (t[i] == 3) {
a[row[i]][col[i]] = x[i];
}
}
for (int i=1; i<=n; ++i) {
for (int j=1; j<=m; ++j) {
printf ("%d%c", a[i][j], j == m ? '\n' : ' ');
}
}
return 0;
}

数学 D - Little Artem and Dance (div2)

题意:男生与女生围成圈跳舞,女生的位置不变,男生可以移动x个女生或者相邻的男生奇偶互换,问最后男生的排列

分析:问题的关键点在于奇数男生的圈顺序不变,偶数也不变,只是起点的位置改变,所以只要对两个起点操作就行了。

#include <bits/stdc++.h>

typedef long long ll;
const int N = 1e6 + 5;
int ans[N]; int main() {
int p0 = 0, p1 = 1;
int n, q; scanf ("%d%d", &n, &q);
for (int i=0; i<q; ++i) {
int type; scanf ("%d", &type);
if (type == 1) {
int x; scanf ("%d", &x);
p0 = (p0 + x + n) % n;
p1 = (p1 + x + n) % n;
} else {
p0 = p0 ^ 1;
p1 = p1 ^ 1;
}
}
for (int i=0; i<n; i+=2) {
ans[(p0+i)%n] = i + 1;
}
for (int i=1; i<n; i+=2) {
ans[(p1+i-1)%n] = i + 1;
}
for (int i=0; i<n; ++i) {
printf ("%d%c", ans[i], i == n-1 ? '\n' : ' ');
}
return 0;
}

数学+前(后)缀 C - Little Artem and Random Variable (div1)

题意:已知p(max(a,b)=k) 和 p(min(a,b)=k)的概率,求p(a=k) 和 p(b=k)

分析:

P(a = k) = P(a <= k) — P(a <= k-1) P(max(a, b) <= k) = P(a <= k) * P(b <= k)

P(min(a, b) >= k) = P(a >= k) * P(b >= k) = (1 — P(a <= k-1)) *(1 — P(b <= k-1))

 

解方程的,从而求得

#include <bits/stdc++.h>

const int N = 1e5 + 5;
double p[N], q[N], a[N], b[N]; int main() {
int n; scanf ("%d", &n);
for (int i=1; i<=n; ++i) {
scanf ("%lf", p+i);
p[i] += p[i-1];
}
for (int i=1; i<=n; ++i) {
scanf ("%lf", q+i);
}
for (int i=n; i>=1; --i) {
q[i] += q[i+1];
}
for (int i=1; i<=n; ++i) {
double A = p[i], B = q[i+1];
double C = B - A - 1;
double delta = sqrt (std::max (C*C - 4 * A, 0.0));
a[i] = (-C+delta) / 2;
b[i] = (-C-delta) / 2;
}
for (int i=1; i<=n; ++i) {
printf ("%.10f%c", a[i] - a[i-1], i == n ? '\n' : ' ');
}
for (int i=1; i<=n; ++i) {
printf ("%.10f%c", b[i] - b[i-1], i == n ? '\n' : ' ');
}
return 0;
}

  

Codeforces Round #348(VK Cup 2016 - Round 2)的更多相关文章

  1. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) D. Little Artem and Dance

    题目链接: http://codeforces.com/contest/669/problem/D 题意: 给你一个初始序列:1,2,3,...,n. 现在有两种操作: 1.循环左移,循环右移. 2. ...

  2. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 1 Edition) C. Little Artem and Random Variable 数学

    C. Little Artem and Random Variable 题目连接: http://www.codeforces.com/contest/668/problem/C Descriptio ...

  3. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) E. Little Artem and Time Machine 树状数组

    E. Little Artem and Time Machine 题目连接: http://www.codeforces.com/contest/669/problem/E Description L ...

  4. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) D. Little Artem and Dance 模拟

    D. Little Artem and Dance 题目连接: http://www.codeforces.com/contest/669/problem/D Description Little A ...

  5. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) C. Little Artem and Matrix 模拟

    C. Little Artem and Matrix 题目连接: http://www.codeforces.com/contest/669/problem/C Description Little ...

  6. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) B. Little Artem and Grasshopper 模拟题

    B. Little Artem and Grasshopper 题目连接: http://www.codeforces.com/contest/669/problem/B Description Li ...

  7. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) A. Little Artem and Presents 水题

    A. Little Artem and Presents 题目连接: http://www.codeforces.com/contest/669/problem/A Description Littl ...

  8. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) D

    D. Little Artem and Dance time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  9. Codeforces Round #348 (VK Cup 2016 Round 2, Div. 2 Edition) C

    C. Little Artem and Matrix time limit per test 2 seconds memory limit per test 256 megabytes input s ...

随机推荐

  1. ajax加载模块实时刷新的原理

    var loadMenu = function(data) {        var trs = template.render('menu-list-temp', {'list': data});  ...

  2. 解决sqlite3_key的问题

    报错内容显示如下: ld: warning: ignoring file /Users/rowling/Library/Developer/Xcode/DerivedData/zhinengbango ...

  3. UICollectionView cellForItemAtIndexPath 方法不走

    在storyboard 中 UICollectionView cellForItemAtIndexPath not called 被坑了好久,各种问题点查找,终于解决了 解决办法: self.auto ...

  4. [Ubuntu] ubuntu10.04系统维护之Wine的安装

    在介绍安装wine之前,我想是有必要先介绍一下Wine的.当然,如果是Liunx的高手,我想是没必要看的,但是对于笔者这样的菜鸟级人物还是需要看一下的. Wine是一款Liunx下的模拟器软件,但是W ...

  5. python基础——模块

    python基础——模块 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...

  6. Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7

    第三步 在虚拟机上安装 Windows 7 等待虚拟机进入 Windows 7 的安装界面以后,在语言,货币,键盘输入法这一面,建议保持默认设置,直接点击“下一步”按钮,如图所示

  7. 昨天一日和彭讨论post请求数据的问题

    上午写了一个for循环,下午与同学视频才知道没有解决根本问题,接口是url单个的数据请求,而导入的是多个员工的考勤数据也就是要有多个请求同时发出,利用这个做法是有链接超时的情况,所以昨天晚上彭为了导入 ...

  8. CLR via C#(12)-委托Delegate

    本来按照进度应该学习事件了,可总觉得应该委托在前,事件在后,才好理解. 委托是一个类,它提供了回调函数机制,而且是类型安全的.使用委托可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数 ...

  9. EasyUi – 6.easyui常见问题

    1.进度条 2.JQuery EasyUI弹出对话框解决Asp.net服务器控件无法执行后台代码的方法 3. 三张表的连接查询现在到datagrid里 4.日期组合框DateBox设置readonly ...

  10. python装饰器入门

    按别人的教程弄的. 要清楚基于类和基于函数的实现的不同之处. #!/usr/bin/env python # -*- coding: utf-8 -*- ''' class entryExit(obj ...