Timus: [1125. Hopscotch] 奇偶性的问题,加上一个pythagorean triplet,没什么算法,枚举了以后发现已经可以到0.001ms并且内存占用不高。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #define Read More
posted @ 2019-02-23 20:09 knull Views(108) Comments(0) Diggs(0)
Timue: [2070. Interesting Numbers] 整个题目比较绕, 1. 质数: 全部符合要求(为什么呢?) 2. 合数:a. 有两种以上因子数的符合要求(想想基于质因子的指数计算因子数的公式);b.唯一质因子的指数加一不为质数就符合要求;c.除去前面的种类,则不符合要求。 所以 Read More
posted @ 2019-02-23 20:03 knull Views(131) Comments(0) Diggs(0)
Timus: [1098. Questions] 约瑟夫环问题,把《具体数学》里的算法拿来用了一下。 #include <stdio.h> #define MAX_SIZE 30000 char text[MAX_SIZE]; const int N = 1999; int m; void inpu Read More
posted @ 2018-11-17 20:29 knull Views(140) Comments(0) Diggs(0)
原题地址:Timus[1091. Tmutarakan Exams] 输入一对整数K和S,求出由K个互不相等且不大于S的正整数组成的集合的个数N,当N大于10000时,输出10000即可。 想到的解法是去求各个质数的倍数所能组成的集合数,这个就是一个组合数。然后用集合元素个数的加法定理?cardin Read More
posted @ 2018-11-17 14:47 knull Views(167) Comments(0) Diggs(0)
原题地址:[Timue: 1019. Line Painting] 不知道该怎么解比较好,于是选择去模拟这个过程: 搞了一个map去存储住这些区间,并且在添加和删除时把前后有相交的区间处理一下,合并还是切割还是怎么样。 #include <iostream> #include <map> #incl Read More
posted @ 2018-11-15 13:29 knull Views(223) Comments(0) Diggs(0)
原题地址: Timus[1055. Combinations] 类似于求n!尾部有多少个零,基于Legendre theorem。 Read More
posted @ 2018-11-13 17:17 knull Views(146) Comments(0) Diggs(0)
timus[1090. In the Army Now] 看了一下题目的意思,求逆序数,求出逆序数最大的行号。 求逆序数是经典问题,想起当年刚学编程时,算法导论里就有这个习题,如何将merge sort修改为可以计算逆序数的版本,于是写了一下,得到了以下一份答案: 1 #include <iostr Read More
posted @ 2018-11-11 16:31 knull Views(244) Comments(0) Diggs(0)
平常我们使用拓展欧几里德算法求pm + qn = gcd(m, n)这种表示时,一般都会选择递归的方式来实现,因为欧几里得算法的递归深度最多也只有O(lgn), according to lame's theorem,所以这个递归用栈是可以忽略的。但其实只需要循环就可以求出一组pm + qn = g... Read More
posted @ 2014-11-08 22:03 knull Views(360) Comments(0) Diggs(0)
数学真奇妙。e = RL^0RLR^2LRL^4RLR^6 ... Read More
posted @ 2014-04-24 21:59 knull Views(208) Comments(0) Diggs(0)
#include #include #include #define MAX_N 20001typedef struct{ int begin, end, w;} Program;Program program[MAX_N];int myHeapLength, n;int cmpV1(Program *a, Program *b){ return a->begin - b->begin;}Program myHeap[MAX_N];void heapPush(Program e){ int i = myHeapLength, p; Program t; myHea... Read More
posted @ 2014-04-11 19:42 knull Views(136) Comments(0) Diggs(0)