[题目]#6392. 「THUPC2018」密码学第三次小作业 / Rsa [题意]T次询问,给定正整数c1,c2,e1,e2,N,求正整数m满足: \(c_1=m^{e_1} \ \ mod \ \ N\) \(c_2=m^{e_2} \ \ mod \ \ N\) 保证\(c_1,c_2,e_1,e_2 \leq N,2^8 < N < 2^{63},T \leq 10^4,(e_1,e_2)=1,(m,N)=1\). [算法]扩展欧几里得算法 我们最终要求\(m\),而已知\(m^{e_…
题目链接:https://loj.ac/problem/6392 题目大意:给定五个正整数c1,c2,e1,e2,N,其中e1与e2互质,且满足 c1 = m^e1 mod N c2 = m^e2 mod N 求出正整数m 解题思路:因为e1与e2互质,所以可以找到两个整数x,y,满足e1x+e2y=1 所以m^(e1x+e2y)=m^1=m=c1^x*c2^y; 注意如果x或者y小于0时,需要求c1.c2对N的逆元 因为N的范围很大,小于2的63次方,所以不能直接乘,需要用快速乘. 求逆元的时…
还是挺好做的,\((e_1,e_2)=1 \Rightarrow e_1s+e_2t=0\),\(m \equiv m^1 \equiv m^{e_1s+e_2t} \equiv c_1^s c_2^t\).exgcd求逆元 #include <iostream> #include <cstdio> using namespace std; typedef long long ll; int T; ll exgcd(ll a, ll b, ll &x, ll &y)…
[题目]#6396. 「THUPC2018」弗雷兹的玩具商店 / Toyshop [题意]给定一个长度为n的物品序列,每个物品有价值.不超过m的重量.要求支持以下三种操作:1.物品价值区间加减,2.物品重量区间加(超过m部分取模),3.区间物品求解容量为m的完全背包数组.\(n \leq 2*10^5,m \leq 60,Q \leq 3*10^4\). [算法]线段树+完全背包 显然,每个重量只需要保留价值最大的物品. 然后就很简单了,线段树每个维护一个数组c[x]表示重量x的最大价值,区间循…
[题目]#6395. 「THUPC2018」城市地铁规划 / City [题意]给定n个点要求构造一棵树,每个点的价值是一个关于点度的k次多项式,系数均为给定的\(a_0,...a_k\),求最大价值.\(n \leq 3000,k \leq 10\). [算法]背包DP+Prufer序 首先每个点度x的价值g(x)可以暴力预处理.将每个点的度-1后,就不再有树形态这个限制了,只要n个点的度加起来是n-2即可,因为此时只要让所有还原后度不为1的点连通,度为1的叶子节点直接分配. 问题转化为n-2…
#2006. 「SCOI2015」小凸玩矩阵 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 小凸和小方是好朋友,小方给小凸一个 N×M N \times MN×M(N≤M N \leq MN≤M)的矩阵 A AA,要求小凸从其中选出 N NN 个数,其中任意两个数字不能在同一行或同一列,现小凸想知道选出来的 N NN 个数中第 K KK 大的数字的最小值是多少. 输入格式 第一行给出三个…
#2036. 「SHOI2015」自动刷题机 内存限制:256 MiB时间限制:1000 ms标准输入输出 题目类型:传统评测方式:文本比较 题目描述 曾经发明了信号增幅仪的发明家 SHTSC 又公开了他的新发明:自动刷题机——一种可以自动 AC 题目的神秘装置. 自动刷题机刷题的方式非常简单:首先会瞬间得出题目的正确做法,然后开始写程序.每秒,自动刷题机的代码生成模块会有两种可能的结果: 写了 xxx 行代码: 心情不好,删掉了之前写的 yyy 行代码.(如果 yyy 大于当前代码长度则相当于…
#2003. 「SDOI2017」新生舞会 内存限制:256 MiB时间限制:1500 ms标准输入输出 题目类型:传统评测方式:文本比较 上传者: 匿名 提交提交记录统计讨论测试数据   题目描述 学校组织了一次新生舞会,Cathy 作为经验丰富的老学姐,负责为同学们安排舞伴. 有 n nn 个男生和 n nn 个女生参加舞会,一个男生和一个女生一起跳舞,互为舞伴.Cathy 收集了这些同学之间的关系,比如两个人之前是否认识,计算得出 ai,j a_{i, j}a​i,j​​,表示第 i ii…
Description ​ 给你一个\(~n \times m~\)的\(~01~\)矩阵,一个人在这个矩阵中走了\(~k~\)步,每一次都往四联通方向中的一个走一步.给定这个人每一步走的方向,已知这个人经过的每一步都没有经过原矩阵中\(~1~\)的位置.问合法的起点有多少种?保证至少有一组解.\(~1 \leq n, m \leq 1500, ~k \leq 5 \times 10 ^ 6~\). Solution ​ 不难发现那条路径通过补全\(~0~\)之后其实就是一个\(~01~\)矩阵…
题目描述 绿绿和 Yazid 是好朋友.他们在一起做串串游戏. 我们定义翻转的操作:把一个串以最后一个字符作对称轴进行翻转复制.形式化地描述就是,如果他翻转的串为 RRR,那么他会将前 ∣R∣−1个字符倒序排列后,插入到串的最后. 举例而言,串abcd进行翻转操作后,将得到abcdcba:串qw连续进行 2次翻转操作后,将得到qwqwq:串z无论进行多少次翻转操作,都不会被改变. 贪玩的绿绿进行了若干次(可能为 0 次)翻转操作. 淘气的绿绿又展示出了一个非空串 S,并表示 S 是最终的串 R…