2 淼润淽涵

尚未进行身份认证

暂无相关简介

等级
TA的排名 2w+

第五章 贪心算法

在求最优解问题的过程中,依据某种贪心标准,从问题的初始状态出发,直接去求每一步的最优解,通过若干次的贪心选择,最终得出整个问题的最优解,这种求解方法就是贪心算法。从贪心算法的定义可以看出,贪心算法不是从整体上考虑问题,它所做出的选择只是在某种意义上的局部最优解,而由问题自身的特性决定了该题运用贪心算法可以得到最优解。活动安排问题活动安排问题就是要在所给的活动集合中选出最...

2020-04-02 22:14:56

第四章 动态规划

动态规划的基本思想将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。适合于用动态规划求解的问题,经分解得到子问题往往不是互相独立的。若用分治法来解这类问题,则分解得到的子问题数目太多,有些子问题被重复计算了很多次。如果我们能够保存已解决的子问题的答案,而在需要时再找出已求得的答案,这样就可以避免大量的重复计算,节省时间。我们可以用一个表来记录所有已解...

2020-03-25 15:32:47

第四章 分治法例题

例题(最大子段和问题)给定由n个整数组成的序列(a1, a2, …, an),最大子段和问题要求该序列形如 的最大值(1≤i≤j≤n),当序列中所有整数均为负整数时,其最大子段和为0。例如,序列(-20, 11, -4, 13, -5, -2)的最大子段和为思路: ① a1, …, an的最大子段和=a1, …,a 的最大子段和;② a1, …, ...

2020-03-14 01:05:38

第三章 递归与分治策略

递归算法程序直接或间接调用自身的编程技巧称为递归算法。递归算法优点它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归算法缺点:递归算法解题的运行效率较低。在递归调用过程中,系统为每一层的返回点、局部变量等开辟了堆栈来存储。递归次数过多容...

2020-03-14 01:00:07

第二章 递推算法

递推法的特点一个问题的求解需一系列的计算,在已知条件和所求问题之间总存在着某种相互联系的关系,在计算时,如果可以找到前后过程之间的数量关系(即递推式),那么,从问题出发逐步推到已知条件,此种方法叫逆推。无论顺推还是逆推,其关键是要找到递推式。这种处理问题的方法能使复杂运算化为若干步重复的简单运算,充分发挥出计算机擅长于重复处理的特点。递推算法的首要问题是得到相邻的数据项间的关系(即递推关...

2020-03-14 00:38:01

第一章 绪论

算法理论的两大论题:1. 算法设计---对于一个问题如何设计一个有效的算法2. 算法分析---如何评价或判断一个算法的优劣算法(Algorithm):对特定问题求解步骤的一种描述,是指令的有限序列。算法的五大特性:⑴ 输入:一个算法有零个或多个输入。⑵ 输出:一个算法有一个或多个输出。⑶ 有穷性:一个算法必须总是在执行有穷步之后结束,且每一步都在有穷时间内完...

2020-03-14 00:28:48

Educational Codeforces Round 69 (Rated for Div. 2)

A:代码:#include<stdio.h>#include<algorithm>using namespace std;int t,n,a[100005];int main(){ scanf("%d",&t); while(t--) { scanf("%d",&n); for(int i=0;i<n;i++) s...

2020-02-06 23:27:09

学习总结

近来这段时间,大概的学习步骤是白天通过做数论的题目巩固已经会的数论知识,以及学习一些新的数论知识。都是靠题目带动学习,否则光看效率不太高,看不下去。但这几天做题很懈怠,总是看着别人过了什么题,自己才去跟着。导致给自己心理放松,别人没做的自己看一眼,啊,好难,就放过去啦。正好,今天,老师发了数论1-数论5的题目博客,可以催促自己把前面的题目没做的看一遍补上。晚上除了继续做数论的题目,有时...

2020-02-06 01:35:32

Codeforces Round #574 (Div. 2) //A:map用法 //

A(map用法):代码:#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(false); int n, k, temp; cin >> n >> k; map<int, int> cnt; for(int i=...

2020-02-06 01:22:48

Educational Codeforces Round 68 (Rated for Div. 2) //B:数组标记法 C:map用法//

A:题意:黑板上写上1~n的数字,第i次操作删掉第i个数(在剩余里数删),保证剩下的数的个数>=i,否则终止,问第x个数为多少?代码:#include<iostream>#include<algorithm>#include<cstring>#include<cstdio>using namespace std;...

2020-02-05 00:40:42

Codeforces Round #573 (Div. 2) //B:二维数组标记法 C:直接模拟//

A:代码:#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int main(){ int n; scanf("%d",&n); n%=4; if(n==1) { printf("0 A"); } else if(n==2...

2020-02-04 23:06:37

Codeforces Round #570 (Div. 3)

Codeforces Round #570 (Div. 3)A:题意:求每一位数字之和,然后开始遍历直到能被4整除即可代码:#include<cstdio>#include<iostream>#include<algorithm>using namespace std;int main(){ int a,i,s=0; scan...

2020-02-02 01:04:01

学习总结

今天看的,老师把整个寒假要做的数论练习题都放了出来,告诉我们不仅要做题,重要的是锻炼出做题的思维,总结出思考问题的方法规律。感觉老师总结的好正确啊。现在做的数论的题目,很多都是把题目经过转化,数学公式的推算最后转变到我们数论常用的知识点上面来。进而应用数论知识。而且数论真的很锻炼思维,很多题目自己想不到往哪一方面去化,但看到别人的做法就是那样。本来觉得数论涉及到的知识点太多啦,太杂啦,...

2020-01-19 23:01:30

欧拉降幂

欧拉降幂公式:对于a^b mod c当b达到10^6时,就无法使用快速幂,需利用欧拉降幂公式求解2^987654321%1000000的值这么大的幂方,是快速幂算法无法求解的,这时我们将使用欧拉降幂算法,它的特点就是能够降低幂方的值且不影响最终结果#include<iostream>#include<cstdio>#include&l...

2020-01-15 20:34:29

同余定理

同余定理:a ≡ b (mod m) (即 a%m == b%m)1.若 a-b == m 那么 a%m == b%m2.若a ≡ b (mod m),则a-b==km同余定理的除法原则:

2020-01-15 19:52:16

HDU 2588 GCD(欧拉函数)

Problem DescriptionThe greatest common divisor GCD(a,b) of two positive integers a and b,sometimes written (a,b),is the largest divisor common to a and b,For example,(1,2)=1,(12,18)=6.(a,b) can be...

2020-01-15 15:18:03

HDU 2824 The Euler function(欧拉函数)

Problem DescriptionThe Euler function phi is an important kind of function in number theory, (n) represents the amount of the numbers which are smaller than n and coprime to n, and this function ha...

2020-01-14 17:21:40

欧拉函数

欧拉定理:若n,a为正整数,且n,a互质,即gcd(a,n) = 1,则a^φ(n) ≡ 1 (mod n)其中的φ(n) 即欧拉函数欧拉函数是求小于等于n的数中与n互质的数的数目 (即欧拉函数是求 1到n-1 中 与n互质的数 的数目)如果n是质数,那么1到n-1所有数都是与n互质的,所以φ(n) = n-1如果n是合数,例如φ(8)=4,因为1,3,5,...

2020-01-14 17:13:14

学习总结

最近做的数论的老师给的第一套题目主要就是关于数论前面基本知识的。很多题目都是用打表找出题目规律的,像打表筛素数,打表找各种规律等。另外一点要注意的是:要注意时间复杂度。另外还要考虑到题目涉及到的特殊情况,不然又白WA上几遍。...

2019-12-22 21:22:25

学习总结

这周发了一套数论练习题,做了一些发现自己前段时间学的数论有所遗忘,所以在做题前先又复习了一遍,边做题边复习前面学过的知识,但自己掌握的还是不深入,就是看到有些题目想不到具体用学过的知识点怎么靠,所以有时一看别人的题解又豁然开朗,所以不愧是短时间内“速成数论”。没有那么强的自悟能力,还是多见题目,多做题目吧,否则真的学过的数论知识不知道如何灵活应用啊。...

2019-12-18 22:49:51

查看更多

勋章 我的勋章
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。