用扩展欧几里德Extended_Euclid解线性模方程,思路在注释里面了. 注意数据范围不要爆int了. /********************************************************* * --------------Tyrannosaurus--------- * * author AbyssalFish * **********************************************************/ #include<bits…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3321 题意: 有个裁判出的题太难,总是没人做,所以他很不爽.有一次他终于忍不住了,心想:“反正我的题没人做,我干嘛要费那么多心思出题?不如就输入一个随机数,输出一个随机数吧.”于是他找了3个整数x1.a和b,然后按照递推公式xi = (a * x(i-1) + b) mod 100…
UVA.12169 Disgruntled Judge ( 拓展欧几里得 ) 题意分析 给出T个数字,x1,x3--x2T-1.并且我们知道这x1,x2,x3,x4--x2T之间满足xi = (a * xi-1 + b ) MOD 10001, 求出x2,x4--x2T. 由于本题中的a和b是未知的,所以需要根据已知条件求出a和b,据说有人暴力枚举a和b然后过了. 所以我来换另一种方法. 其实我们可以枚举a,并根据x1,x3算出求出可行的b的值.如何做到呢? 首先我们已经知道 x2 = (a *…
/** 题目:UVA 12169 Disgruntled Judge 链接:https://vjudge.net/problem/UVA-12169 题意:原题 思路: a,b范围都在10000以内.暴力枚举1e8:但是还要判断.所以时间不够. 如果可以枚举a,然后算出b,再判断可行性,那么时间上是可行的.但是是多次方的方程无法解. 想其他办法: xi = (a*xi-1 + b) % 10001 xi+1 = (a*xi+b)%10001 xi+2 = (a*xi+1+b)%10001 =>…
题意:随机选取x1,a,b,根据公式xi=(a*xi-1+b)%10001得到一个长度为2*n的序列,奇数项作为输入,求偶数项,若有多种,随机输出一组答案. 思路:a和b均未知,可以考虑枚举a和b,时间复杂度为10000*10000*100,但是题目数据比较水,这样枚举也是能过的.高效的做法是:枚举a,根据以下公式求出b. a*x1+b - MOD*y1 = x2; a*x2+b - MOD*y2 = x3; 解得: x3 - a*a*x1=(a+1)*b + MOD * y; 该方程为关于变量…
//数据是有多水 连 10^10的枚举都能过 关于拓展欧几里德:大概就是x1=y2,y1=x2-[a/b]y2,按这个规律递归到gcd(a,0)的形式,此时公因数为a,方程也变为a*x+0*y=gcd(a,0)的形式,显然解为x=1,y=0,然后再递归回去就能得到解(a*x+b*y=gcd(a,b)的解) #include<cstdio> #include<iostream> #include<cmath> #include<algorithm> #incl…
题目大意:有3个整数 x[1], a, b 满足递推式x[i]=(a*x[i-1]+b)mod 10001.由这个递推式计算出了长度为2T的数列,现在要求输入x[1],x[3],......x[2T-1], 输出x[2],x[4]......x[2T]. T<=100,0<=x<=10000. 如果有多种可能的输出,任意输出一个结果即可. 由于a和b都小于等于10000,直接枚举a和b暴力可以过.但是有没有更快的方法呢? 首先令递推式的i=2,那么x[2]=(a*x[1]+b)mod 1…
我该怎么说这道题呢...说简单其实也简单,就枚举模拟,开始卡了好久,今天看到这题没a又写了遍,看似会超时的代码交上去a了,果然实践是检验真理的唯一标准... #include <iostream> #include <cstring> #include <cstdio> using namespace std; ; int main (){ ]; int n; while (~scanf ("%d",&n)){ ;i<*n;i+=) s…
思路还是按照紫书,枚举a,得出b, 然后验证. 代码参考了LRJ的. #include <cstdio> #include <iostream> using namespace std; *+; ; int x[maxn], T; void solve() { ; a<M; a++) ; b<M; b++) { bool ok=true; ; i<=*T; i+=) { x[i] = (a*x[i-]+b) %M; <=*T && x[i+]…
CJOJ 1071 [Uva]硬币问题(动态规划) Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值. Input 第一行两个整数,n,S(1≤n≤100, 0≤S≤100000). 第二行n个整数vi-1...n(1≤vi≤S). Output 第一行两个整数,分别表示硬币数目的最小值 a 和最大值 b .无解则输出 -1 . 第二行 a 个整数分别表示使用的是第…
项目名 Piers 在线评测 项目需求 用户: 获取题库.题目的相关信息. 在线对代码进行编译.执行.保存.返回运行(编译)结果. 总体题目评测成绩查询. 用户信息服务,包括注册.登录.忘记密码.邮箱验证等功能. 管理员: 题库.题目相关信息的增删改查. 用户导入,包括文件导入.输入等方式. 用户成绩查询与修改. 题目分析. 用户抄袭作弊检测. 项目特色 安全性高,采用 Docker.Tomcat 安全策略等多重机制保护运行时安全. 拥有抄袭作弊检测的功能,方便管理员对用户的作业检查. 基于 B…
Spring 配置一些本地类,还有 HTML form 提交文件的解析器. package per.piers.onlineJudge.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; import javax…
题意:已知圆的内接多边形的各个边长,求多边形的面积. 分析: 1.因为是圆的内接多边形,将多边形的每个顶点与圆心相连,多边形的面积就等于被分隔成的各三角形之和. 2.根据海伦公式,任意一个三角形的面积为:double p = (2 * r + a[i]) / 2,S = sqrt(p * (p - r) * (p - r) * (p - a[i])),a[i]为多边形某条边的长度,由此可以表示出多边形的面积. 3.对于任意一个三角形,设其为半径的两条边的夹角为α,则sin(α/2) = (a[i…
搭建 OJ 需要的知识(重要性排序): Java SE(Basic Knowledge, String, FileWriter, JavaCompiler, URLClassLoader, SecurityManager, synchronized) Java Virutal Machine(Classpath,Policy) Servlet(HttpServlet) JSP(Session, JSP, EL, JSTL, Custom Tags) Tomcat(Classpath) Java…
题意:根据这种进制的算法,例如,给你一个左式,要求推出右式.(其实右式就是一个十进制数,根据这种进位的方法来转成特殊进制的数.) 思路:观察转换特点,有点类似于二进制,但是其在后面还减一了.比如25-1.24-1 ...21-1.如果我们不减1会怎样?如上式,从左边看起,就会多加了(25-1)*1+1*(23-1)+2*(22-1).这就是说,我们可以先将 10120 从右往左逐个乘以21  22  23  24  25 再减去10120即可得出结果. 当然也可以按照上边式子老实计算. #inc…
数据库EER图 数据库表.字段.约束解释 users 用户: id 标识符,email 邮箱,password 密码,name 姓名,sex 性别,enabled 启用 ,role 角色 id primary key advisors 指导: id 标识符,uid_user 被指导者,uid_admin 指导者 id primary key uid_user -> user(id),uid_admin(id) categories 类别: id 标识符,name 名称,description 描…
Model Model 层主要包含数据的类,这些数据一般是现实中的实体,所以,Model 层中类的定义常常和数据库 DDL 中的 create 语句类似. 通常数据库的表和类是一对一的关系,但是有的时候由于需求变化或者方便起见,Model 层的类有时不和数据库中表相互对应.比如面向对象之组合属性,在 Java 中可以用一个类组合另一个类,表示测试信息.对应多组测试用例的组合,(正常情况下,应该是一张表而不是两张表),而数据库是用两张表存储数据,利用外键关系表示测试信息.对应多组测试用例的关系.…
https://vjudge.net/problem/UVA-1602 题意:计算n连通块不同形态的个数. 思路: 实在是不知道该怎么做好,感觉判重实在是太麻烦了. 判重就是判断所有格子位置是否都相同,这样我们可以定义一个结构体来保存每个格子的坐标点,用set容器poly来保存这些格子,然后再用一个set容器poly_set来保存指定数量i个连通块的各个图形的坐标点,也就是说该容器是用来保存poly的.(不太好解释,具体可以看代码.)因为图形必须是连通的,所以在添加第i个格子的时候必定是在i-1…
这道题大体意思是利用一种递归规则生成不同的气球,问在某两行之间有多少个红气球. 我拿到这个题,一开始想的是递归求解,但在如何递归求解的思路上我的方法是错误的.在研读了例题上给出的提示后豁然开朗(顺便吐槽一下算法竞赛第二版在这这道题目上(P246)提示写的有问题,g(k,i)=2g(k-1,i-2^(k-1))+c(k-1)  ,他把c(k-1)写成了c(k)...我纠结这个纠结了好久) 根据题目提示,这道题可以用f(k,i)表示k小时后最上边i行的红气球总数 那么我们的答案就可以表示为f(k,b…
题目传送门 J - Fire! Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected to create a fire escape plan. Help Joe escape the maze. Given Joe’s location in the maze and which squares of the maze are…
题意:给一个字符串A,只含小写字符数个.再给一个字符串B,含小写字符数个.规则如下: 1.字符串B从左至右逐个字符遍历,对于每个字符,如果该字符在A中存在,将A中所有该字符删掉,若不存在,则错误次数+1. 2.当错误次数达到7时,游戏结束,输了lose. 3.当串A中已经没有字符了,游戏结束,赢了win.(串B后面还没遍历到的也不用遍历了) 4.当错误次数没到达7,但是字符串A还有剩下的字符没消去,则chickened out. 错满7个就输,在满7个之前匹配完了就赢,在满7个之前没匹配完就ch…
题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=430题意:两个字符串,第二个不能错七次,不能重复 思路:今天是帮学弟看题的,没帮学弟看出错误来...真惭愧... 于是自己写了一个.. #include <iostream> #include <cstring> using namespace std; int…
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=157 题意:输入建筑物的x,y坐标,宽度,深度和高度,输出从南向北看时能看到的建筑物. 这道题需要用到离散化,将所有建筑物物的左右边界坐标存储起来,然后排序去重,那么任意两个相邻x坐标形成的区间要么是可见的,要么就是不可见的.这样只需在这个区间内任选一点(如中点),当该建筑物可见时,首先它的…
原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=620 题意就是有一个球从二叉树的结点1开始下落,每个结点上有个开关,关闭时小球往左走,否则往右走,每次经过结点后改变开关.输入二叉树深度和小球个数,输出最后一个小球下落的结点. 一开始我把每个球的情况都算了一遍,然后就超时了. 后来参考了书上的代码,对于前两个小球来说必然一个在左个…
Young naturalist Bill studies ants in school. His ants feed onplant-louses that live on apple trees. Each ant colony needsits own apple tree to feed itself.Bill has a map with coordinates of n ant colonies and napple trees. He knows that ants travel…
uva 116 Unidirectional TSP Background Problems that require minimum paths through some domain appear in many different areas of computer science. For example, one of the constraints in VLSI routing problems is minimizing wire length. The Traveling Sa…
The Necklace  My little sister had a beautiful necklace made of colorful beads. Two successive beads in the necklace shared a common color at their meeting point. The figure below shows a segment of the necklace: But, alas! One day, the necklace was…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4517 题意: 输入一个n(n≤100000)个元素的正整数序列,求一个连续子序列,使得该序列中所有元素的最大公约数与序列长度的乘积最大.例如,5个元素的序列30, 60, 20, 20, 20的最优解为{60, 20, 20, 20},乘积为gcd(60,20,20,20)*4=8…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4513 题意: 有高为1, 2, 3,…, n的杆子各一根排成一行.从左边能看到L根,从右边能看到R根,求有多少种可能. 分析: 设d(i,j,k)表示让高度为1-i的杆子排成一行,从左边能看到j根,从右边能看到k根的方案数(设i≥2).按照从大到小的顺序安排各个杆子.假设已经安排完…
链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2122 题意: 有n个人准备去超市逛,其中第i个人买东西的概率是Pi.逛完以后你得知有r个人买了东西.根据这一信息,请计算每个人实际买了东西的概率.输入n(1≤n≤20)和r(0≤r≤n),输出每个人实际买了东西的概率. 分析: 设“r个人买了东西”这个事件为E,“第i个人买东西”这…