
题目
/
uadsbkc
这个作者很懒,什么都没留下…
展开
-
Lattice paths(数学)
题目思路1组合数学的知识在走完一个完整的路径的时候,都会向右走20步,向下走20步,所以就是从40步里选20步,C(20,40)思路二每一条路径grid[i][j]=grid[i-1][j]+grid[i][j-1]发现新大陆代码2#include <iostream>#include <string.h>#define MAXX 3005using namespace std;long long grid[22][22]; //输出很大,要用长原创 2021-03-12 22:54:47 · 428 阅读 · 0 评论 -
weekly9/题解
C题CCCE题知识点分治法思路就是直接用模板就行代码#include<iostream> #include<cmath>#include<algorithm>using namespace std;const int maxn=1e6;const double INF=1e100; struct node{ double x,y; int flag;}a[maxn],term[maxn];bool cmpx(node a,node b)原创 2020-12-07 20:49:51 · 99 阅读 · 0 评论 -
(字符串)unscramble words
题目链接https://vjudge.net/contest/411790#problem/C代码// 是有亿点点复杂了// 有时间再改进~主要是没用sort函数// 可能要等期末考完试了hhhh…#include <iostream>#include <cstring>#include <string>#include <queue>#include <vector>#include <algorithm>us原创 2020-12-07 19:40:33 · 431 阅读 · 0 评论 -
BFS/acm习题集
A - Catch That Cow// 没有什么坑~~#include <iostream>#include <string>#include <string.h>#include <algorithm>#include <queue>#define MAX 900100#define INF 99999999using namespace std;struct node{ int num,step; nod原创 2020-11-22 01:16:30 · 137 阅读 · 0 评论 -
(dijckstra)昂贵的聘礼
题目链接POJ 1062题目大意酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:"嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币就行了。"探险家就跑到大祭司那里,向他要求皮袄或水晶球,大祭司要他用金币来换,或者替他弄来其他的东西,他可以降低价格。探险家于是又跑到其他地方,其他人也提出了类似的要求,或者直接用金币换,或者找到其他东西就可以降低价格。最后计算最少需要多少金币布吉岛怎么描原创 2020-11-21 23:22:02 · 109 阅读 · 0 评论 -
(floyd)Six Degrees of Cowvin Bacon
题目链接https://vjudge.net/problem/POJ-2139题目大意牛牛们拍电影~① 在一组的之间的关系是1② 跟自己的关系是0③ 不在一组,但间接在一组的(都跟另一个在一个组)是2求平均思路就是用floyd算法做,果然,离散数学还是有用的啊。。。以后还是要去上课的。。ε=ε=ε=( ̄▽ ̄)代码#include <iostream>#include <string>using namespace std;/*5 32 2 53 3原创 2020-11-20 21:20:13 · 143 阅读 · 0 评论 -
(dijkstra)Heavy Transportation
题目链接POJ 1797题目大意找出从城市1到城市n的路径中,每一条路径最小的那个权值,再在这些小权值中,找到最大的辣个思路最短路问题,主要使用dijkstra算法,进行一些修改即可代码#include <iostream>#include <string>#include <cstring>using namespace std;int road[1010];int record[1010][1010];bool vis[1010];int原创 2020-11-20 19:47:08 · 102 阅读 · 0 评论 -
(马拉车)最长回文子串
题目链接HUD 3068题目大意找最长的回文串思路最简单的Manacher/马拉车算法代码#include <iostream>#include <string>#include <cstring>using namespace std;int main(){ char s[111111]; while(~scanf("%s",s)) { //标记一下 int len = strlen(s)原创 2020-11-19 22:07:55 · 93 阅读 · 0 评论 -
(kmp)Given a string
题目链接POJ 3541题目大意给两个字符串T,S,判断S的循环右移字串经过异或变换(相同为0,不同为1),能否得到T思路① s = S + S 可以把循环转换为直线② a异或b = c可以得到:b异或c = aa异或c = b所以 求Sl异或Sk=T的话,就可以转换成求sl异或T,得到t之后,寻找这个字符串在不在S的循环字串s中代码#include <iostream>#include <queue>#include <fstream>#i原创 2020-11-19 12:32:28 · 128 阅读 · 0 评论 -
(kmp)Simpsons’ Hidden Talents
题目链接HDU 2594题目大意给出两个字符串, 在s1前缀和s2后缀中,找出最大的相同的字符串思路求出s1的kmp,再用他和s2比较即可代码#include <iostream>#include <queue>#include <fstream>#include <string.h>#include <string>#include <stack>using namespace std;int nxt[7原创 2020-11-19 09:24:11 · 113 阅读 · 0 评论 -
(字符串)Count the string
题目链接HUD 3336题目大意找一个字符串的前缀在这个字符串中出现了几次思路特点① 必须以s[0]开头的字符串才可以② 给定了长度为n的字符串,本身就产生了n个③ 每次都要%10007,防止溢出代码#include <iostream>#include <queue>#include <fstream>#include <string.h>#include <string>#include <stack>原创 2020-11-18 21:41:36 · 258 阅读 · 0 评论 -
(kmp)Oulipo
题目链接HUD 1686题目大意找出一个字符串s2中包含多少个字符串s1思路kmp~代码#include <iostream>#include <queue>#include <fstream>#include <string.h>#include <string>#include <stack>using namespace std;string s1,s2;int len1,len2;int nxt原创 2020-11-18 20:01:08 · 104 阅读 · 0 评论 -
(字符串)简单/查找最长公共子序列
题目链接POJ 3080 Blue Jeans题目大意就是找几个字符串中的最长的公共子序列,比较简单,可以暴力求解思路从第一个字符串中一次选取字符串(长度从1到60),然后与后面几组相比较代码#include <iostream>#include <queue>#include <fstream>#include <string.h>#include <string>#include <stack>using原创 2020-11-17 23:12:56 · 323 阅读 · 0 评论 -
(字符串)数字字母转换+map
题目大意给出A-Z对应的数字,通过翻译找到有几组相同的数字代码#include <iostream>#include <fstream>#include <string>#include <map>#include <sstream>#include <string.h>#include <stdlib.h>using namespace std;int main(){ int n;原创 2020-11-07 20:38:21 · 232 阅读 · 0 评论 -
(字符串)大小写字母转换
题目大意大小写等价,比较两个字符串的大小代码#include <iostream>#include <string>using namespace std;int main(){ string s1,s2; cin>>s1>>s2; int len = s1.size(); for(int i=0;i<len;i++) { if(s1[i]>='a' && s原创 2020-11-07 20:25:53 · 455 阅读 · 0 评论 -
(gcd)*Orac and LCM
题目链接codeforces 1348A题目大意给出n个数,先两两求出其最小公倍数,构成一个集合m,再求出m里面所有数的最大公因数思路cf题解思路一用第二个例子来说:由唯一分解定理可知,N可以看成多个质数的乘积。对每个数质因子分解,用数组保存每个质因子出现的幂次先求最小公倍数的话,新生成的数是取每个质数的最大次幂,以此类推,设新生成的数构成一个集合m再对所有的数求最大公约数,就是求新的集合m中,所有数的共同的因子,就是最小的幂数思路二利用公式推导,直接得出结论代码代码一原创 2020-11-01 22:44:02 · 109 阅读 · 0 评论 -
(gcd)EhAb AnD gCd
题目大意给出一个数x,找到两个数a,b,满足( a , b ) + [ a , b ] = x思路不就是这个数-1跟1嘛代码#include<iostream>using namespace std;int main(){ int n; cin >> n; while(n--) { int x; cin >> x; cout << 1 << " " &l原创 2020-10-31 22:39:06 · 164 阅读 · 0 评论 -
(gcd)Maximum GCD
题意求1-n范围内,不同的数对中,gcd的最大值思路假设最大的gcd是x。( a , b ) = x那么a和b都能被x整除,最大的可能取值就是a=x,那么b=2x,所以最后只需要输出n/2即可直接使用gcd会超时原创 2020-10-31 20:54:25 · 137 阅读 · 0 评论 -
(队列)Team Queue
题目链接HDU 1387题目大意有好几个组,不同的数字属于不同的组在入队的时候捏,如果队里有了这个组的一个元素,就插入到这个元素后面(入队时按组入),没有的话就排在最后面,问出队顺序思路① 先把每一个组跟其包含的数字对应好——用一个map定义一个record。一开始用了一个二维数组,但是TEL了。。② 两个队列,一个记录组的先后顺序group,一个记录放入数的先后顺序num[ ](这里又是一个数组)代码#include <iostream>#include <queu原创 2020-10-30 19:21:13 · 359 阅读 · 1 评论 -
(栈自己实现)Flipper
题目链接HUD 3328题目大意emmm,说实话,英语水平有限,一开始布吉岛他说了啥,自己试了好几次结果都不一样其实就是,把最左边或者最右边的牌先反转,再叠加到旁边的牌上,然后移动的时候,符合栈的特点思路① 如果用栈的话,我jio得可以用四个栈,一边两个来回换,倒来倒去实现② 不用栈的话,就直接数组模拟了,开一个二维数组,只不过!!!!每次开二维数组都会把行列弄混,我就说怎么结果不正确,debug之后再知道又把行跟列记错了,5555代码#include <iostream>原创 2020-10-29 20:37:39 · 189 阅读 · 0 评论 -
(链表自己实现)士兵队列训练问题
题目链接HUD 1276题目大意从头开始一至二报数,凡报到二的出列,剩下的向小序号方向靠拢,再从头开始进行一至三报数,凡报到三的出列,剩下的向小序号方向靠拢,继续从头开始进行一至二报数代码#include <iostream>using namespace std;typedef struct myNode{ int num; struct myNode * p; myNode(int n,myNode *p = NULL) {原创 2020-10-28 09:19:39 · 291 阅读 · 0 评论 -
(进制转换)Lovekey
题目链接HDU 2100题目大意就是26进制,求ABCD+QWEE之类的思路看成普通的,用字符串直接做,又水了~~代码#include <iostream>#include <string>#include <vector>#include <string.h>#include <algorithm> //用max得加介个要不然编译错误。。using namespace std;const int maxn = 500原创 2020-10-26 21:58:13 · 115 阅读 · 0 评论 -
(大数运算)C++
【题一】求n!HDU 1042//用的是万进制ε=ε=ε=(~ ̄▽ ̄)~#include <iostream>#include <string.h>#include <vector>using namespace std;int main (){ int n; int a[20100]; while(cin>>n) { memset(a,0,sizeof(a)); a[0] =原创 2020-10-24 18:17:11 · 113 阅读 · 0 评论 -
(进制转换)Palindrom Numbers
题目链接ZOJ 1078思路按部就班,水一水????代码#include <iostream>#include <string.h>#include <vector>using namespace std;int Process(int i,int x){ int newx=0; int t; while(x) { t = x%i; if(x < i) n原创 2020-10-21 20:57:56 · 125 阅读 · 0 评论 -
(位运算)(前缀和)CS Course
题目链接HDU 6186题目大意给出n个数,在任意去掉一个数之后,求剩下所有数的与,或,异或思路思路一前缀后缀和,先提前记录,之后一次性输出思路二用异或运算的性质代码#include <iostream>#include <string.h>#include <vector>using namespace std;const int maxN = 100005;int pre1[maxN];int pre2[maxN];int pre原创 2020-10-21 09:27:21 · 395 阅读 · 0 评论 -
(位运算)An Easy Problem
题目链接POJ 2453题目大意找到一个比J大的最小整数M,满足J和M的二进制中1的个数相同思路思路一emmm,直接一个一个慢慢找不就好啦ヾ(•ω•`)o思路二直接找出来,找规律:从右往左找到第一个组合为01,交换位置之后,把01这一组合之后所有的0放到1的前面(代码就不写了,明明有更简单的=_=嘿嘿)代码int main(){ int n; while(cin >> n && n) { bitset<32&g原创 2020-10-20 22:43:52 · 96 阅读 · 0 评论 -
(位运算)(搜索)Flip Game
题目链接POJ 1753题目大意4*4的棋盘,放置了16个白色和黑色的两种棋子,进行翻转操作(上下左右中都变反),计算全部为一个颜色最小的次数题目思路原创 2020-10-20 22:15:52 · 163 阅读 · 0 评论 -
(素数筛)Prime Distance
题目链接POJ 2689题目大意思路代码注意事项原创 2020-10-20 20:20:46 · 143 阅读 · 0 评论 -
(大数运算)Java
Ⅰ 进制转换题目求n!代码import java.math.BigInteger;import java.util.Scanner;public class Main { public static void main(String[] args) { // TODO 自动生成的方法存根 BigInteger ans = BigInteger.ONE; Scanner in = new Scanner(System.in); int n; while (in.has原创 2020-10-17 21:13:22 · 111 阅读 · 1 评论 -
(素数筛)Prime Path
题目链接POJ 3216题目大意一个四位数的素数,每次变化一个数字,得到一个新的素数,问最少经历多少次这样的变化,才能得到目标素数。(例子如下)思路原创 2020-10-15 20:54:37 · 159 阅读 · 0 评论 -
(快速幂)Raising Modulo Numbers
题目链接POJ 1995原创 2020-10-15 17:05:00 · 130 阅读 · 0 评论