2018 China Collegiate Programming Contest Final (CCPC-Final 2018)
Problem A. Mischievous Problem Setter
签到.
#include <bits/stdc++.h>
using namespace std; #define ll long long
#define N 100010
#define pii pair <int, int>
#define x first
#define y second
int t, n, m;
pii a[N]; int main()
{
scanf("%d", &t);
for (int kase = ; kase <= t; ++kase)
{
printf("Case %d: ", kase);
scanf("%d%d", &n, &m);
for (int i = ; i <= n; ++i) scanf("%d", &a[i].x);
for (int i = ; i <= n; ++i) scanf("%d", &a[i].y);
sort(a + , a + + n);
int res = ;
for (int i = ; i <= n; ++i)
{
if (a[i].y <= m)
{
++res;
m -= a[i].y;
}
else
break;
}
printf("%d\n", res);
}
return ;
}
Problem K. Mr. Panda and Kakin
题意:
RSA解密
思路:
注意到题目的本意是求$x^(2^{30} + 3) = c \pmod (n)$
$从根号处暴力破出p和q,然后求(2^{30} + 3)对 \phi(n) = (p - 1) \cdot (q - 1) 的逆$
$最后求幂即可,但是注意到大数模乘会爆,所以可以long \;double 或者用中国剩余定理$
#include <bits/stdc++.h>
using namespace std; #define ll long long
int t;
ll p, q; ll qmod(ll base, ll n, ll MOD)
{
base %= MOD;
ll res = ;
while (n)
{
if (n & ) res = res * base % MOD;
base = base * base % MOD;
n >>= ;
}
return res;
} void get(ll n)
{
for (ll i = sqrt(n); i >= ; --i) if (n % i == )
{
p = i;
q = n / i;
return;
}
} ll exgcd(ll a, ll b, ll &x, ll &y)
{
if (a == && b == ) return -;
if (b == ) { x = , y = ; return a; }
ll d = exgcd(b, a % b, y, x);
y -= a / b * x;
return d;
} ll mod_reverse(ll a, ll n)
{
ll x, y;
ll d = exgcd(a, n, x, y);
if (d == ) return (x % n + n) % n;
else return -;
} int main()
{
ll n, c;
scanf("%d", &t);
for (int kase = ; kase <= t; ++kase)
{
printf("Case %d: ", kase);
scanf("%lld%lld", &n, &c);
get(n);
ll r = (p - ) * (q - );
ll u = mod_reverse(((1ll << ) + ), r);
ll a = qmod(c, u, p);
ll b = qmod(c, u, q);
b = (b - a + q) % q;
ll inv = qmod(p, q - , q);
ll res = b * inv % q;
res = (res * p % n + a) % n;
printf("%lld\n", res);
}
return ;
}
2018 China Collegiate Programming Contest Final (CCPC-Final 2018)的更多相关文章
- 2018 China Collegiate Programming Contest Final (CCPC-Final 2018)-K - Mr. Panda and Kakin-中国剩余定理+同余定理
2018 China Collegiate Programming Contest Final (CCPC-Final 2018)-K - Mr. Panda and Kakin-中国剩余定理+同余定 ...
- 模拟赛小结:2018 China Collegiate Programming Contest Final (CCPC-Final 2018)
比赛链接:传送门 跌跌撞撞6题摸银. 封榜后两题,把手上的题做完了还算舒服.就是罚时有点高. 开出了一道奇奇怪怪的题(K),然后ccpcf银应该比区域赛银要难吧,反正很开心qwq. Problem A ...
- 2018 China Collegiate Programming Contest Final (CCPC-Final 2018)(A B G I L)
A:签到题,正常模拟即可. #include<bits/stdc++.h> using namespace std; ; struct node{ int id, time; }; nod ...
- 2016 China Collegiate Programming Contest Final
2016 China Collegiate Programming Contest Final Table of Contents 2016 China Collegiate Programming ...
- The 2015 China Collegiate Programming Contest A. Secrete Master Plan hdu5540
Secrete Master Plan Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Othe ...
- The 2015 China Collegiate Programming Contest Game Rooms
Game Rooms Time Limit: 4000/4000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submi ...
- 2018 German Collegiate Programming Contest (GCPC 18)
2018 German Collegiate Programming Contest (GCPC 18) Attack on Alpha-Zet 建树,求lca 代码: #include <al ...
- (寒假GYM开黑)2018 German Collegiate Programming Contest (GCPC 18)
layout: post title: 2018 German Collegiate Programming Contest (GCPC 18) author: "luowentaoaa&q ...
- 2017 China Collegiate Programming Contest Final (CCPC 2017)
题解右转队伍wiki https://acm.ecnu.edu.cn/wiki/index.php?title=2017_China_Collegiate_Programming_Contest_Fi ...
随机推荐
- B-J UI框架(前端异步框架)
B-JUI 客户端框架 http://xiangzhanyou.com/B-JUI
- hive与hbase的联系与区别
hive与hbase的联系与区别: 共同点: 1.hbase与hive都是架构在hadoop之上的.都是用hadoop作为底层存储. 他们的底层是要通过mapreduce分布式计算的,hbase.hi ...
- Unity官网针对IOS开发有比较好的建议
Unity官网针对IOS开发有比较好的建议,我总结了翻译如下,后面附上原文. 尽量控制定点数量(注意所谓顶点不是建模时的顶点,而是引擎渲染时的顶点.例如,模型一个顶点如果设置了2个法向,那么对引擎来说 ...
- 面试题思考:Servlet 生命周期、工作原理
Servlet 生命周期:Servlet 加载--->实例化--->服务--->销毁. init():在Servlet的生命周期中,仅执行一次init()方法.它是在服务器装入Ser ...
- jQuery中如何解决多库冲突问题
方法一:使用noConflict():舍弃$,$用jQuery代替jQuery.noConflict(); 方法二:自定义变量:舍弃$,新定义一个$y变量来代替$var $y = jQuery.noC ...
- Size Balanced Tree
Size Balanced Tree(SBT)是目前速度最快的平衡二叉搜索树,且能够进行多种搜索操作,区间操作:和AVL.红黑树.伸展树.Treap类似,SBT也是通过对节点的旋转来维持树的平衡,而相 ...
- 【PHP7.1】linux centos7 安装phpredis扩展
背景: linux centos7.4 php7.1 一 . 安装redis 1 进入usr/local 目录 cd /usr/local 2 下载redis 并解压到当前目录 wget h ...
- MQTT的学习研究(十五) MQTT 和android整合文章
详细参考: How to Implement Push Notifications for Android http://tokudu.com/2010/how-to-implement-push- ...
- iOS面试2
转:http://www.cocoachina.com/ios/20151106/14069.html 作者:seedante 授权本站转载. 题目来自博客:面试百度的记录,有些问题我能回答一下,不能 ...
- java类的成员初始化顺序和初始化块知识
java类的成员初始化顺序和初始化块知识 转自:http://blog.csdn.net/lgfeng218/article/details/7606735 属性.方法.构造方法和自由块都是类中的成员 ...