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 ...
随机推荐
- org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.AccessControlException)
在运行hadoop的程序时,向hdfs中写文件时候,抛出异常信息如下: Caused by: org.apache.hadoop.ipc.RemoteException(org.apache.hado ...
- 查看磁盘读写:iostat
iostat命令用来查看磁盘IO的读写情况,用法如下: [root@localhost ~]$ yum install -y sysstat # 安装iostat命令 [root@localhost ...
- linux 提示符>怎样退出
在linux(Red Hat)字符界面下,不小心输入了上漂号 ’ ,结果命令提示符变成了>,然后在q.exit.ctrl+c.ctrl+z都回不去了,不知道怎么回到#的命令提示符? 表示ct ...
- Android开发 Android Studio2.0 教程从入门到精通Windows版 - 入门篇
第一篇 介绍了Android Studio开发环境以及Genymotion虚拟机安装方法,本节将给大家介绍如何使用Android Studio开发应用. 开发第一应用 可以开发属于自己的应用,是否有点 ...
- JS-【同页面多次调用】轮播特效封装-json传多个参数
看着传那么一长串的参数神烦,继续深化!——json传参: html: <div class="scrollBanner"> <ul class="ban ...
- Git介绍和基本原理
官方文档:http://git-scm.com/doc 1.1 起步 - 关于版本控制 本章关于开始学习 Git. 我们从介绍有关版本控制工具的一些背景知识开始,然后讲解如何在你的系统运行 Git,最 ...
- 【Android】安卓中常用的图片加载方法
一.通过相机选图片: 布局文件: <?xml version="1.0" encoding="utf-8"?> <LinearLayout x ...
- Android搜索自动提示功能 AutocompleteTextView
1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" androi ...
- 170509、文本编辑器编写的shell脚本在linux下无法执行的解决方法
今天碰到一个奇怪的问题,编写好的shell脚本再linux上执行一直提示找不到文件或目录,后来想想是文本编辑器的问题,记录下来!!! 1.查看当前文本格式 Notepad++界面中,在右下角有文件格式 ...
- Windows安装使用git
下载安装Windows安装文档Git-2.16.2-64-bit双击安装(安装过程不详述) 打开git客户端 新建代码命令 mkdir /c/code 进入该目录(对应windows的c盘下面的目录) ...