BestCoder Round #66 (div.2)
构造 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)的更多相关文章
- BestCoder Round #66 (div.2)B GTW likes gt
思路:一个O(n)O(n)的做法.我们发现b_1,b_2,...,b_xb1,b2,...,bx都加11就相当于b_{x+1},b_{x+2},...,b_nbx+1,bx+ ...
- HDU5597/BestCoder Round #66 (div.2) GTW likes function 打表欧拉函数
GTW likes function Memory Limit: 131072/131072 K (Java/Others) 问题描述 现在给出下列两个定义: f(x)=f_{0}(x)=\ ...
- HDU5596/BestCoder Round #66 (div.2) 二分BIT/贪心
GTW likes gt Memory Limit: 131072/131072 K (Java/Others) 问题描述 从前,有nn只萌萌的GT,他们分成了两组在一起玩游戏.他们会排列成一排 ...
- HDU 5596/BestCoder Round #66 (div.2) GTW likes math 签到
GTW likes math Memory Limit: 131072/131072 K (Java/Others) 问题描述 某一天,GTW听了数学特级教师金龙鱼的课之后,开始做数学<从自主 ...
- BestCoder Round #66 (div.2) hdu5592
GTW likes math Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- BestCoder Round #66 (div.2) 1002
GTW likes gt Accepts: 132 Submissions: 772 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- hdu 5636 搜索 BestCoder Round #74 (div.2)
Shortest Path Accepts: 40 Submissions: 610 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: ...
- hdu5634 BestCoder Round #73 (div.1)
Rikka with Phi Accepts: 5 Submissions: 66 Time Limit: 16000/8000 MS (Java/Others) Memory Limit: ...
- 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 ( ...
随机推荐
- Quatre 2D的绘图功能的三个步骤(上下文,绘图,渲染)
一.qurza2d是怎么将绘图信息和绘图的属性绘制到图形上下文中去的? 说明: 新建一个项目,自定义一个view类和storyboard关联后,重写该类中的drowrect方法. 画线的三个步骤: ( ...
- [Android Pro] Android 6.0 Root
reference : http://bbs.gfan.com/android-8001827-1-1.html 2. 刷机和刷入recovery 建议参考 置顶教程: [15年3月31日更新]Nex ...
- ppt动画制作bullets
动画->效果选项->作为一个对象 这样之后,字总是在一段时间后就自己出来,而不是我们点一下再出来,解决方法是对同一段字重复设置,后面那个会默认是点一下,出一张,在把之前的动画删除即可.
- iOS开发Xcode7真机调试教程
从Xcode7开始,Xcode 不需要$99/$299升级开发者直接可以进行真机调试 调试步骤 1.假设已经你已经有了苹果账号,下载并安装好了Xcode7 2. 打开Xcode-> Prefer ...
- CocoaPods 安装
虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用. 前言 在iOS项目中使用第三方类库可以说是非常常见的事,但是要正 ...
- zip 压缩文件 unzip查看zip压缩包内的内容
[root@GitLab tmp]# zip -r new.zip ./* adding: gitlab_key_file20161001-2668-1eu44mv (deflated 15%) ...
- ssh -v root@xxxxx 显示登录的细节
[root@ok .ssh]# ssh -v root@10.100.2.84 OpenSSH_5.3p1, OpenSSL Feb debug1: Reading configuration dat ...
- GBDT原理实例演示 2
一开始我们设定F(x)也就是每个样本的预测值是0(也可以做一定的随机化) Scores = { 0, 0, 0, 0, 0, 0, 0, 0} 那么我们先计算当前情况下的梯度值 ...
- C# 使用Conditional特性而不是#if条件编译
概述 #if/#endif 语句常用来基于同一份源码生成不同的编译结果,其中最常见的就是debug版和release版.但是这些工具在实际应用中并不是非常友好,因为它们容易被滥用,其代码页进而难以理解 ...
- LINQ To DataSet 示例
如果在项目遇到这样的问题如:DataTable1和DataTable2需要根据一定的规则进行合并成一个DataTable3. 问题1:DataTable1不是读数据库表的结果,而是合成的数据集,因此无 ...