在线测评系统
wjsay
白色的蜻蜓,在空中忘记了飞行。
我的 github ID: zzuwenjie
展开
-
UVa11582 巨大的斐波那契数
#include#includeusing namespace std;const int maxn=1000010;typedef unsigned long long ULL;int f[maxn];int pow_mod(ULL a,ULL n,int m){a%=m;ULL ans=1;while(n){if(n%2) ans=ans*a%m原创 2016-08-27 15:59:03 · 701 阅读 · 0 评论 -
最小生成树
无向图,最小生成树MST,节点有1到n,PRIM算法,O(n^n)#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #include #include #include #include #include #include #include #in原创 2017-04-12 11:54:09 · 326 阅读 · 0 评论 -
KMP算法
//KMP算法实现,参照ACM模板//牛客网,上海交通大学机试题#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1e6+7;char P[maxn],T[maxn];int Next[maxn];void preKmp(c...原创 2016-12-13 23:38:08 · 365 阅读 · 0 评论 -
贪心算法
经典贪心算法活动安排n个活动共同使用一个报告厅,给出每个活动的起止时间(整数),如何安排才能使完成活动个数最多?先开始最先结束的活动,为了留出更多的时间给其他活动。(最多安排活动个数唯一,但活动安排方案可能不唯一)#include #include #include #include using namespace std;const int maxn = 1e4 +原创 2017-04-23 16:22:26 · 564 阅读 · 5 评论 -
Summing to a Square Prime
Summing to a Square Prime现在很少在这个博客上贴题解了,贴这个题是因为这道题的数据给的真的是太巧妙了,出题人费尽心机呀。写分析数据在给题面1 而进一步筛得平方素数刚好500整个,那个7994是有500推出来的吧 :)测试组数也是500,询问第n个平方素数,n的上界也是500,这种巧合,只能说god knows the reason.接着划分平方素数,原创 2017-08-21 19:26:51 · 292 阅读 · 0 评论 -
Pillai's arithmetic function 算法实现 --------------------------------附 河南省2017多校联萌5
Pillai's arithmetic function定义:求前n个数分别和n的最大公约数的和。详细见维基百科(下图)那么如何高效求出函数值P(n)呢?且n很大,例如 n := 1:e11。(取10^11是为了秒出结果,因为开方后不超过百万)这个数论问题,具体实现需要用到因数分解,线性素数筛,质因数分解,欧拉函数,也得知道这个公式。1、先因数分解,我算了下,10^11原创 2017-08-25 19:12:55 · 360 阅读 · 0 评论 -
Super Jumping! Jumping! Jumping! hdu1087
动态规划题。vector> dp; dp[i].second意为和,first意为小值。算了,不解释了,反正AC in on go. 出去透透气一下就想出状态转换了,描述不好Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jumping! Jumping!” is very po原创 2017-08-23 21:16:14 · 269 阅读 · 0 评论 -
素数筛选法 O(n) O(nlgn) uva10357 选择与除法
主要介绍两种素数筛选法原创 2016-08-28 15:08:45 · 536 阅读 · 0 评论 -
UVa12169 不爽的裁判
//先贴上暴力代码,再加上 拓展欧几里得算法//*********************************************************************************#include using namespace std;const int mod = 10001;int t, x[210];void solve转载 2016-08-27 22:23:29 · 565 阅读 · 0 评论 -
拓扑排序应用 hdu 1285
#include#includeusing namespace std;const int maxn=512;int map[maxn][maxn], dgr[maxn];//indegree 入度,map 网,地图 int m,n;void toposort(){//拓扑排序 for(int i=1;ifor(int j=1;jif(dgr[j转载 2016-08-18 10:42:16 · 290 阅读 · 0 评论 -
0 1 背包 poj 3624
#include#define Max 20000int main(){ int a[Max]={0},w,v,M,N,i,j;scanf("%d%d",&M,&N); for(i=1;i scanf("%d%d",&w,&v); for(j=N;j>=w;j--) if转载 2016-08-11 21:01:39 · 374 阅读 · 0 评论 -
杭电1241 Oil Deposits
递归深度搜索转载 2016-08-08 15:48:21 · 380 阅读 · 0 评论 -
洛谷P1423 小玉在游泳 数字危机
这道题不难,就是缓解心情做的,可是测试数据时发现了黑洞。当我测试数据100时,发现不出来答案,接着我测了99, 99.999……,小数点后13个9时还立刻出来答案1794,但是小数点后14个9时,就出现了虚无,啊!!!从微积分的观点来看,调和级数是发散的于无穷的,不应该大于不了100呀!好恐怖。下面是100分的代码 #include<iostream>#includ...原创 2016-09-09 18:58:28 · 1913 阅读 · 0 评论 -
poj1129 poj1106
日常记录原创 2017-06-18 11:26:10 · 271 阅读 · 0 评论 -
SWJTU OJ 西安交通大学第十三届ACM程序设计决赛-题解
A Knapsack Problem(线性时间复杂度 签到题)#include int main(){ int T; scanf("%d", &T); while(T-- > 0) { int n, w, d, i, tmp; scanf("%d%d%d", &n, &w, &d); for (i= 0; i < n; ++i) { scanf("%d", &tmp原创 2017-05-18 15:26:15 · 1054 阅读 · 0 评论 -
计蒜客-2017初赛第一场
A 阿里的新游戏就那几种 成三 的情况,日常暴力,秒天秒地(我室友常这样说)#include #include #include #include #include #include using namespace std;const int maxn = 17;int pic[maxn][maxn];int main(){ int n, m; while(~s原创 2017-05-20 21:00:30 · 480 阅读 · 0 评论 -
传递闭包
代码先行,下面这个传递闭包算法需要一个外部的数组(整形或布尔型 一个矩阵的阶)void t_closure() {//传递闭包 for (int i = 1; i <= N; i++)//列 for (int j = 1; j <= N; j++)//行 if (a[j][i] == 1) for (int k = 1; k <= N; k++) if (a原创 2017-03-17 16:23:45 · 873 阅读 · 0 评论 -
poj1723
poj1723先把所有的士兵移动到y= 的一条水线上(关键是找中位数,和王晓东的算法设计与分析2-1一样,求所有y坐标到中位数的和,可以排序后一下求出,但我的代码中不是这样求的),然后再考虑如何移动士兵使其挨着又不同时在一个位置。比如排列在a, a+1, a+2, a+3,.....先把横坐表从小到大排序sort();x[i] -> a+i; 在x[i]位置的士兵移动到 a + i原创 2017-03-11 12:07:12 · 502 阅读 · 0 评论 -
连续因子
PAT连续因子试题链接刚开始想最长连续因子不会超过11个,导致查找范围严重缩小,后来在网上找了个AC代码,和我的diff( Linux下的命令)比较一下,就发现错哪了。这个diff很好用的(zzuwenjie推荐哈)。2017-3-12 10:51:22#include #include #include #include #include using namespace std原创 2017-03-12 10:51:39 · 784 阅读 · 0 评论 -
V型积木
2017郑州大学省赛选拔 V型积木解题关键是大二刚学的动态规划之最长严格上升子序列,还要判断是否能摆成V型,本题不算是很裸的算法题10503: V型积木Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 146 Solved: 14[Submit][Status][Web Board]Description原创 2017-04-10 08:29:24 · 748 阅读 · 0 评论 -
结构体排序,多级排序
之前只是对主关键字排序,today第一次对次关键字,次次关键字排序,第一次使用qsort()(若想使用qsort(),必须自己严格按格式写个比较函数),int cmp1(const void *a,const void *b) ;空指针可以在函数体内强制转换为结构体指针,然后设计好这个比较函数,就可以想怎么排序就怎么排序,从而达到多级排序的问题。具体怎么使用qsort()和写cmp()比较函数,自原创 2017-03-14 23:04:23 · 946 阅读 · 0 评论 -
练习深度优先搜索
其实深度优先搜索用递归实现也不难,算法这种东西,理解不深,过一段时间就忘了。BNU Personal Training 2017清明(3) G题#define _CRT_SECURE_NO_WARNINGS#include #include #include #include #include #include #include #include #include原创 2017-04-05 15:25:41 · 549 阅读 · 0 评论 -
杭电1010,深度优先搜索+减枝
使用深度优先搜索,但不是判断能否搜到,也不是找最长路径,而是判断是否有一条刚好长度为T的路。递归实现(虽然很容易超时)链接:hdu1010Problem DescriptionThe doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it u转载 2017-04-05 22:57:01 · 434 阅读 · 0 评论 -
矩阵取数问题,51nod1084,多路dp
51nod1084,两路dp,两次从(1, 1)走到(n, m),拾取路上的珍珠。dp[k][i][j] 表示第k步时,一个人在i列,一个人在j列,i + j = k (m + n >= k >= 2)。我一般都会将输入和处理分开来,下面的solve()函数用于处理数据#include #include #include #include #include #include转载 2017-04-19 14:29:25 · 322 阅读 · 0 评论 -
最小生成树,MST,Prim算法,poj2485
最小生成树prim算法,参考严蔚敏的《数据结构C语言版》和郑州大学的课件HighwaysTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 30366 Accepted: 13815DescriptionThe island nation of原创 2017-04-01 15:50:54 · 716 阅读 · 0 评论 -
ZZU15级软工最后一次算法作业
由于高考改卷要占用我们学校的机房,所以我们的上机课就停了。助教让我们在POj上做 1521 1751 3032 (这都是超链接)这三道题。然而,对于多数不搞ACM的同学来说,刚做OJ试题,有些难度。确实有点难为大家了。对于多数萌新来时,第一次看见英文题目描述,可能已经开始瑟瑟发抖了,。不过没关系,这很正常。我刚开始做题时,a + b就通过不了。但是对于ACM或者OI老司机原创 2017-05-29 19:13:46 · 677 阅读 · 0 评论 -
南京Oj1225,石子合并,DP
南京OJ1225超链接千万别写成贪心算法了,代码注释中有一些解释zzuwenjie 2017-3-23 22:17:09 其中那个求区间和的想法比较好。时间复杂度 O(N^3),我班那谁说有NlogN的,反正我不信原创 2017-03-23 22:21:29 · 917 阅读 · 0 评论