构造 1002 GTW likes gt

题意:中文题面

分析:照着题解做的,我们可以倒着做,记一下最大值,如果遇到了修改操作,就把最大值减1,然后判断一下这个人会不会被消灭掉,然后再更新一下最大值。不知道其他的做法是怎么样的

#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std; #define lson l, mid, o << 1
#define rson mid + 1, r, o << 1 | 1
const int N = 5e4 + 5;
const int INF = 0x3f3f3f3f;
int n, m;
int a[N], b[N], cnt[N], mx[2]; int main(void) {
int T; scanf ("%d", &T);
while (T--) {
scanf ("%d%d", &n, &m);
for (int i=1; i<=n; ++i) {
scanf ("%d%d", &a[i], &b[i]);
}
memset (cnt, 0, sizeof (cnt));
for (int c, i=1; i<=m; ++i) {
scanf ("%d", &c); cnt[c]++;
}
mx[0] = mx[1] = 0; int ans = n;
for (int i=n; i>=1; --i) {
mx[0] -= cnt[i]; mx[1] -= cnt[i];
if (mx[a[i]^1] > b[i]) ans--;
mx[a[i]] = max (mx[a[i]], b[i]);
}
printf ("%d\n", ans);
} return 0;
}

打表+数学 1003 GTW likes function

题意:中文题面

分析:打表才能看出来是 n + x + 1,然后可以直接套模版计算了。严格证明看官方题解。

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std; typedef long long ll; ll euler(ll x) {
ll ret = x, t = x;
for (int i=2; i*i<=x; ++i) {
if (t % i == 0) {
ret = ret / i * (i - 1);
while (t % i == 0) t /= i;
}
}
if (t > 1) ret = ret / t * (t - 1);
return ret;
} ll euler2(ll x) {
ll ret = 1, i = 2;
for (; i*i<=x; ++i) {
if (x % i == 0) {
x /= i;
ret *= (i - 1);
while (x % i == 0) {
x /= i; ret *= i;
}
}
}
if (x > 1) ret *= (x - 1);
return ret;
} ll _pow(ll x, int n) {
ll ret = 1;
for (int i=1; i<=n; ++i) {
ret *= x;
}
return ret;
} ll comb(int n, int m) {
ll ret = 1;
for (int i=1; i<=m; ++i) {
ret = ret * n; n--;
}
ll ret2 = 1, t = m;
for (int i=1; i<=m; ++i) {
ret2 = ret2 * t; t--;
}
return ret / ret2;
} ll fun(int x) {
ll ret = 0;
for (int i=0; i<=x; ++i) {
ret += _pow (-1, i) * _pow (2, 2 * x - 2 * i) * comb (2 * x - i + 1, i);
}
return ret;
} int main(void) {
/*ll f = fun (10);
printf ("i: %d f: %d\n", 0, f);
for (int i=1; i<=10; ++i) {
f = fun (f);
printf ("i: %d f: %d\n", i, f);
}*/
ll n, x;
while (scanf ("%I64d%I64d", &n, &x) == 2) {
printf ("%I64d\n", euler2 (n + x + 1));
} return 0;
}

  

BestCoder Round #66 (div.2)的更多相关文章

  1. BestCoder Round #66 (div.2)B GTW likes gt

    思路:一个O(n)O(n)的做法.我们发现b_1,b_2,...,b_xb​1​​,b​2​​,...,b​x​​都加11就相当于b_{x+1},b_{x+2},...,b_nb​x+1​​,b​x+ ...

  2. HDU5597/BestCoder Round #66 (div.2) GTW likes function 打表欧拉函数

    GTW likes function      Memory Limit: 131072/131072 K (Java/Others) 问题描述 现在给出下列两个定义: f(x)=f_{0}(x)=\ ...

  3. HDU5596/BestCoder Round #66 (div.2) 二分BIT/贪心

    GTW likes gt    Memory Limit: 131072/131072 K (Java/Others) 问题描述 从前,有nn只萌萌的GT,他们分成了两组在一起玩游戏.他们会排列成一排 ...

  4. HDU 5596/BestCoder Round #66 (div.2) GTW likes math 签到

    GTW likes math  Memory Limit: 131072/131072 K (Java/Others) 问题描述 某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学<从自主 ...

  5. BestCoder Round #66 (div.2) hdu5592

    GTW likes math Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  6. BestCoder Round #66 (div.2) 1002

    GTW likes gt  Accepts: 132  Submissions: 772  Time Limit: 2000/1000 MS (Java/Others)  Memory Limit: ...

  7. hdu 5636 搜索 BestCoder Round #74 (div.2)

    Shortest Path  Accepts: 40  Submissions: 610  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: ...

  8. hdu5634 BestCoder Round #73 (div.1)

    Rikka with Phi  Accepts: 5  Submissions: 66  Time Limit: 16000/8000 MS (Java/Others)  Memory Limit: ...

  9. BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)

    Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

随机推荐

  1. [Android Pro] Android 进程级别 和 oom_adj对应关系

    一 : 前台进程 (Active Process): oom_adj为0. 前台进程包括 : 1 : 活动 正在前台接收用户输入 2:活动.服务与广播接收器正在执行一个onReceive事件的处理函数 ...

  2. Spetember 5th 2016 Week 37th Monday

    No matter how far you may fly, never forget where you come from. 无论你能飞多远,都别忘了你来自何方. Stay true to you ...

  3. ZooKeeper 配置文件(zoo.cfg)详解

    参数名 说明 clientPort 客户端连接server的端口,即对外服务端口,一般设置为2181吧. dataDir 存储快照文件snapshot的目录.默认情况下,事务日志也会存储在这里.建议同 ...

  4. hdu 2027统计元音

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2027 思路:主要考察gets()函数用法,能够接受输入的空格,如果用%s或是cin>>st ...

  5. 三、jQuery--jQuery实践--搜索框制作

    input标签讲解 <input/>作为按钮的type属性:button.submit(后面会有二者对比分析)

  6. myaql常用函数

    一.数学函数 abs(x)   返回x的绝对值 bin(x)   返回x的二进制(oct返回八进制,hex返回十六进制) ceiling(x)   返回大于x的最小整数值 exp(x)   返回值e( ...

  7. Java -- File

    @.getPath().getAbsolutePath().getCanonicalPath()区别 原文:http://blog.csdn.net/wh_19910525/article/detai ...

  8. Vs注释,vsXML,VSXML注释

    标签名称 说明 语法 参数 <summary> <summary> 标记应当用于描述类型或类型成员.使用<remarks> 添加针对某个类型说明的补充信息. < ...

  9. 【翻译十七】java-并发之高性能对象

    High Level Concurrency Objects So far, this lesson has focused on the low-level APIs that have been ...

  10. Java Hour 67 Java Collection API

    本文不是一个大而全的讲述Java Coleection 相关的APi, 而是笔者认为哪些是一个初学者所能够而且必须确切知道的知识点. Collection 一脉 这里有我们比较常用的List<E ...