05 2020 档案

摘要:题意:给定一个区间范围[M,E],接下来有n行输入,每行输入三个数值:T1,T2,S,表示覆盖区间[T1,T2]的代价为S,要求你求出覆盖区间[M,E]的最小代价,如果不能覆盖,则输出-1. // #include<bits/stdc++.h> #include <cstdio> #include 阅读全文
posted @ 2020-05-31 15:27 ジャスミン 阅读(130) 评论(0) 推荐(0)
摘要:题意:是有一个装置可以输出n个数的最大值, 这个装置由m个排序器组成, 每个排序器可以将这n个数从s 到 t的数按照从小到大的顺序排列, 有一个人发现将m个排序器中的一些排序器去掉仍然不影响功能, 现在问你最少需要多少个排序器可以完成功能。 思路:dp[i][j]表示更新到第i个区间,到第j个位置最 阅读全文
posted @ 2020-05-31 12:42 ジャスミン 阅读(144) 评论(0) 推荐(0)
摘要:小结 解决的问题: 解决递推关系中不好直接写出通项公式的问题,将多个递推关系的系数在矩阵中表示 而对于矩阵的幂运算可以用快速幂,复杂度:O(m^3*logn) 所以算法核心就是找到递推关系对应的矩阵辣 POJ 3420 Quad Tiling 题意:在一个4*n的棋盘上,用1*2的多米诺骨牌来平铺, 阅读全文
posted @ 2020-05-31 09:21 ジャスミン 阅读(595) 评论(0) 推荐(0)
摘要:矩阵类,支持矩阵的加减乘和幂运算 const int MAXN = 105; const int MAXM = 105; struct Martix { int n, m; //n:矩阵行数 m:矩阵列数 int a[MAXN][MAXM]; void clear() { //清空矩阵 n = m 阅读全文
posted @ 2020-05-30 22:06 ジャスミン 阅读(266) 评论(0) 推荐(0)
摘要:1.铺砖问题 题目:给定n*m的格子,每个格子被染成了黑色或者白色。现在要用1 * 2 的砖块覆盖这些格子,要求块与块之间互相不重叠,且覆盖了所有白色的格子,但不覆盖任意一个黑色格子。求一个有多少种覆盖方法,输出方案数对M取余后的结果。 #include<bits/stdc++.h> using n 阅读全文
posted @ 2020-05-30 17:09 ジャスミン 阅读(145) 评论(0) 推荐(0)
摘要:POJ 2104 K-th Number 题意:给出一段数列,让你求[L,R]区间内第k大的数字 #include <cstdio> #include <cstring> #include <iostream> #include <vector> #include <algorithm> using 阅读全文
posted @ 2020-05-26 21:30 ジャスミン 阅读(146) 评论(0) 推荐(0)
摘要:初始化: //n为元数的个数 int bitn=(int)(log(n)/log(2)) for (int i=0; i<n; ++i) f[i][0]=input[i]; for (int j=1; j<bitn; ++j) for (int i=0; i<n; ++i) { if (i+(1<< 阅读全文
posted @ 2020-05-24 21:00 ジャスミン 阅读(195) 评论(0) 推荐(0)
摘要:POJ 2155 这道题比上一道简单多了,看到1,0的转换首先想到之前的一个递归算法但是这道题明显不行,就是累加1然后判断奇偶就ok,反正是很裸的题。 #include <stdio.h> #include <string.h> #include <iostream> #include <algor 阅读全文
posted @ 2020-05-21 22:16 ジャスミン 阅读(145) 评论(0) 推荐(0)
摘要:POJ 3109 Inner Vertices 题意:黑白棋・改:无限大的棋盘上,在横向和纵向上被包围的白子会变成黑子,求最终黑子个数 思路:首先要想明白这个改变的过程会一次完成,不会因为新产生的黑子而产生更多黑子。 扫描线 + 树状数组优化。对于线上的点,只要它左右两边都有黑点那么该点就要被算进去 阅读全文
posted @ 2020-05-21 21:49 ジャスミン 阅读(386) 评论(1) 推荐(0)
摘要:AOJ 0531 Paint Color 涂色:(日文题目,自己翻译成了中文)为了宣传信息竞赛,要在长方形的三合板上喷油漆来制作招牌。三合板上不需要涂色的部分预先贴好了护板。被护板隔开的区域要涂上不同的颜色,比如上图就应该涂上5种颜色。请编写一个程序计算涂色数量,输入数据中,保证看板不会被护板全部遮 阅读全文
posted @ 2020-05-21 09:33 ジャスミン 阅读(205) 评论(0) 推荐(0)
摘要:题目 题意:有m头牛,每头牛有两个值,v和x,两两之间有一个值,设v分别为v1,v2,x为x1,x2,则它们之间的值为abs(x1-x2) * Max(v1,v2),求所有m*(m-1)/2对牛之间值的总和。 思路:咋看第一眼都是暴力这个优秀算法,不过暴力肯定是不行的,所以要树状数组优化 我们可以先 阅读全文
posted @ 2020-05-19 23:11 ジャスミン 阅读(149) 评论(0) 推荐(0)
摘要:树状数组的入门题; 传送门 树状数组的写法 代码中bit0是i的零次项 bit1是i的一次项 以后以此类推 在[l, r]加数的时候 写出公式 在l的地方 一次项及以上的直接写 然后在零次项那减去 在r的地方 一次项及以上的减掉之前加上的 然后再零次项那加上“公式化简之后的最终结果 减去 之前在零次 阅读全文
posted @ 2020-05-19 20:11 ジャスミン 阅读(135) 评论(0) 推荐(0)
摘要:#include <stdio.h> int fun(int i) { int cnt = 0; while(i) { cnt++; i = i&(i-1); } return cnt; } int main() { printf( "%d\n", fun(2017) ); return 0; } 阅读全文
posted @ 2020-05-17 19:48 ジャスミン 阅读(1695) 评论(0) 推荐(1)
摘要:题意:有n根长度不尽相同的棍子,初始时它们首尾垂直相连,标号为1--n,第一根棍子的下端坐标为(0,0),上端坐标为(0,len[1]),其余棍子依次类推。接下来执行C此旋转,每次输入一个编号num和角度rad,使得第num根棍子和第num+1跟棍子间的逆时针角度变为rad度,求每次旋转后第n跟棍子 阅读全文
posted @ 2020-05-17 17:16 ジャスミン 阅读(333) 评论(0) 推荐(1)
摘要:Peter studies the theory of relational databases. Table in the relational database consists of values that are arranged in rows and columns. There are 阅读全文
posted @ 2020-05-17 10:09 ジャスミン 阅读(136) 评论(0) 推荐(0)
摘要:看到紫书上的这一页先是一脸懵逼,不过仔细理解还是觉得挺妙的hhhh 首先贴上前一部分代码: //结构体BigStruct可用于储存高精度非负整数 struct BigInteger { static const int BASE = 100000000; static const int WIDTH 阅读全文
posted @ 2020-05-15 19:29 ジャスミン 阅读(206) 评论(0) 推荐(0)
摘要:我们在使用C语言的结构体时,经常都是只定义几个成员变量,而学过面向对象的人应该知道,我们定义类时,不只是定义了成员变量,还定义了成员方法,而类的结构和结构体非常的相似,所以,为什么不想想如何在C语言结构体中添加成员变量呢 在C语言的结构体中是不能直接定义成员函数的,这点和C++不同,但是我们可以通过 阅读全文
posted @ 2020-05-15 12:07 ジャスミン 阅读(3629) 评论(0) 推荐(0)
摘要:Problem Statement 有 N 块羊肉穿在同一根竹签上,从左到右美味值 依次为 V1, V2, ..., VN。注意美味值可能为负数。 现在你想把一些羊肉夹到自己的盘子里。 你至多可以进行 K 次操作,可选择的操作如下: 操作 A:将羊肉串上最左端的羊肉夹到盘子中,必须保证羊肉串上有羊肉 阅读全文
posted @ 2020-05-14 20:27 ジャスミン 阅读(277) 评论(0) 推荐(0)
摘要:#include<bits/stdc++.h> using namespace std; bool book[100000001]; // 用埃氏筛法生成质数表 void prime(int b) { //初始化,默认全部都是质数 memset(book, true, sizeof(book)); 阅读全文
posted @ 2020-05-14 14:18 ジャスミン 阅读(288) 评论(0) 推荐(0)
摘要:题意:有一些球他们都有各自的重量,而且每个球的重量都不相同,现在,要给这些球贴标签。如果这些球没有限定条件说是哪个比哪个轻的话,那么默认的前面比后的要请,而且这n个球的重量也正好是分布在1-n这个范围内,现在要你求出他们各自所占的重量。 #include <cstdio> #include <cst 阅读全文
posted @ 2020-05-13 21:32 ジャスミン 阅读(141) 评论(0) 推荐(0)
摘要:1、POJ 3169 题意: n头牛编号为1到n,按照编号的顺序排成一列,每两头牛的之间的距离 >= 0。这些牛的距离存在着一些约束关系:1.有ml组(u, v, w)的约束关系,表示牛[u]和牛[v]之间的距离必须 <= w。2.有md组(u, v, w)的约束关系,表示牛[u]和牛[v]之间的距 阅读全文
posted @ 2020-05-12 23:30 ジャスミン 阅读(314) 评论(0) 推荐(1)
摘要:一、概述 最小生成树问题顾名思义,概括来说就是路修的最短。 接下来引入几个一看就明白的定义: 最小生成树相关概念: 带权图:边赋以权值的图称为网或带权图,带权图的生成树也是带权的,生成树T各边的权值总和称为该树的权。 最小生成树(MST):权值最小的生成树。 最小生成树的性质:假设G=(V,E)是一 阅读全文
posted @ 2020-05-11 17:09 ジャスミン 阅读(375) 评论(0) 推荐(0)
摘要:1. poj 2139 题意 奶牛们最近要拍电影了…… 1、若两个的奶牛一起工作则,他们相互的度(degrees)为; 2、若两只奶牛a、b不一起工作,但与另有一只奶牛都和他们工作,则a、b的相互的度为2。 求奶牛的与其他奶牛的度的平均值的100的整数。 思路 这个题用floyd算法最为合适; // 阅读全文
posted @ 2020-05-09 23:30 ジャスミン 阅读(166) 评论(0) 推荐(0)
摘要:参考链接 Dijkstra算法 算法特点: 迪科斯彻算法使用了广度优先搜索解决赋权有向图或者无向图的单源最短路径问题,算法最终得到一个最短路径树。该算法常用于路由算法或者作为其他图算法的一个子模块。 算法的思路 Dijkstra算法采用的是一种贪心的策略,声明一个数组dis来保存源点到各个顶点的最短 阅读全文
posted @ 2020-05-08 21:06 ジャスミン 阅读(499) 评论(0) 推荐(0)
摘要:头文件iomanip中包含了setiosflags与setprecision,也可以用fixed 代替setiosflags(ios::fixed) #include<iostream>//fixed #include<iomanip>//包含setiosflags与setprecision usi 阅读全文
posted @ 2020-05-08 15:11 ジャスミン 阅读(1514) 评论(0) 推荐(0)
摘要:题解:两个球相撞返回,首先如果忽视掉体积,看成质点,那么相撞返回就可以理解成两个求擦肩而过,互不影响,(就和poj1852蚂蚁的思想是一样的),这样想就相当于把题目简化了。然后又由于题目的真实情况,先掉落的球一定是所有球中最下面的一个,所以对最后求得的数据进行排序即可。 #include <iost 阅读全文
posted @ 2020-05-08 12:41 ジャスミン 阅读(262) 评论(0) 推荐(0)
摘要:【基本的集合操作】: (1) 空集Ø > 0 (2)只含有第 i 个元素的集合{ i } > 1 << i (3)含有全部 n 个元素的集合{0, 1, ..., n-1} > (1 << n) - 1 (4)判断第 i 个元素是否属于集合 S > if (S >> i & 1) (5)向集合中加入 阅读全文
posted @ 2020-05-08 11:54 ジャスミン 阅读(328) 评论(0) 推荐(0)
摘要:算法概览: 例.给定一个01串,现有翻转规则:翻转某一个位置时其后面2个位置也会跟着翻转,也就是每次翻转都会翻转3个连续的位置。要将01串全部翻转为0,求最小的翻转次数形似这类题的问题叫做翻转问题,也可以叫开关问题,对于这类题通常有以下的特点,思考一下就可以想到。 1.交换区间得反转顺序队结果没有影 阅读全文
posted @ 2020-05-08 11:30 ジャスミン 阅读(1071) 评论(0) 推荐(0)
摘要:尺取法 尺取法:顾名思义,像尺子一样取一段,借用挑战书上面的话说,尺取法通常是对数组保存一对下标,即所选取的区间的左右端点,然后根据实际情况不断地推进区间左右端点以得出答案。 之所以需要掌握这个技巧,是因为尺取法比直接暴力枚举区间效率高很多,尤其是数据量大的时候,所以尺取法是一种高效的枚举区间的方法 阅读全文
posted @ 2020-05-06 22:24 ジャスミン 阅读(795) 评论(0) 推荐(0)
摘要:Find them, Catch them Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 62172 Accepted: 18837 Description The police office in Tadu City deci 阅读全文
posted @ 2020-05-05 18:44 ジャスミン 阅读(130) 评论(0) 推荐(0)
摘要:Moo University - Financial Aid Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 14558 Accepted: 4320 Description Bessie noted that although 阅读全文
posted @ 2020-05-05 16:17 ジャスミン 阅读(193) 评论(0) 推荐(0)
摘要:在数论中,欧拉定理,(也称费马-欧拉定理)是一个关于同余的性质。欧拉定理表明,若n,a为正整数,且n,a互质,则: 于是就有公式: 第一个要求a和p互质,第二个和第三个是广义欧拉降幂,不要求a和p互质,但要求b和的大小关系。 问题:求2^(2^(2^(2^(2^...)))) mod p的值 题解: 阅读全文
posted @ 2020-05-03 23:22 ジャスミン 阅读(661) 评论(0) 推荐(0)
摘要:# 2020.5.3 # 第八章·线性时间排序 计数排序 /* * 计数排序 * 时间复杂度为O(n+k) * 使用计数排序须要在全部元素都在一个小的范围内,即k远小于n * 在k=O(n)时。时间复杂度为O(n) */ // COUNTING-SORT int* countingSort(int 阅读全文
posted @ 2020-05-03 11:04 ジャスミン 阅读(162) 评论(0) 推荐(0)
摘要:Problem: One day Polycarpus got hold of two non-empty strings s and t, consisting of lowercase Latin letters. Polycarpus is quite good with strings, s 阅读全文
posted @ 2020-05-01 21:46 ジャスミン 阅读(230) 评论(0) 推荐(0)
摘要:转的一个超级有意思,好懂的并查集解释, 膜拜大神~~ 原文链接 故事读完,并查集就会了~~~~~ 江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉“朋友的 阅读全文
posted @ 2020-05-01 17:35 ジャスミン 阅读(223) 评论(0) 推荐(0)