摘要:
##题意 给出多组数据, 每组数据给出一个 \(n\) ,表示接下来有 \(n\) 行, 每行给出一个 \(x\) ,表示后面跟着x对数据 \((y、z)\) , 代表第 \(i\) 行到 $y$的时间为 \(z\) 。 问从第几号开始传所需的时间最少, 输出编号和最短时间。 ##思路 可以用Flo 阅读全文
摘要:
##题意 给出一个n和p,让我们根据$k^=p$求出k的值,输出k即可。 ##思路 因为p的范围较大,所以用double存即可。 太菜了,想的很复杂,结果关键代码就一句。 ##注意 double的范围是$-2^{1024}$ ~ $2^{1024}$,也就是 -1.79E+308 ~ +1.79E+ 阅读全文
摘要:
##题意 给出4行4列,最后要使它们都变成 - ,每次翻转一个字符, 该字符所在行和列都会翻转, 最后输出都变成 - 的最少变换次数和变换路径。 ##思路 主要就是把 + 都找出来,然后对其行和列进行book++,其本身book--,具体看代码。 ##注意 长时间不写代码都忘掉了,%c吸收回车,用c 阅读全文
摘要:
##题意 给你一个n和k,表示n本书和t分钟,接下去给出n个数,表示每本书的看书市时长, 要求在给定的t时间内,求出看的最大图书量。 按照给定的顺序进行看书,不能再回过头去看书。 ##思路 贪心:该题可以转化成最长公共子序列,然后用尺取法来做。 DP。 ##AC代码 #include<bits/st 阅读全文
摘要:
##getline int main() { // gets(s1); // getchar(); //gets(s2); string s; getline(cin,s); //只能读string,不能读char // 可以读空格 //scanf("%[^\n]",s1); // scanf("% 阅读全文
摘要:
##思想 记忆化搜索的思想无非就是:搜索 + DP ##注意!!! 记忆化搜索要判断是从起点直接搜dfs(0,0)还是for循环遍历每一个点都要去搜! 判断是否需要标记book,还是book直接作为搜到已经搜过的直接返回的数组! ##POJ1088-滑雪 注意:POJ上不能用万能头文件,把头文件注释 阅读全文
摘要:
##题意 中文题 ##PS 我感觉再简单的DFS我写总还是有错误,关键是自己还看不出来。 ##AC代码 #include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> #include<cmath> #inclu 阅读全文
摘要:
##注意 线性表是有限序列。 ##基本操作 initList(&L); Destroy(&L);//并且释放L所占用内存空间 LocateElem(L,e); GetELem(L,i); ListInsert(&L,i,e);//前插 ListDelete(&L,i&e); ##申请线性表 //静态 阅读全文
摘要:
##题目链接 https://www.luogu.com.cn/problem/P3379 ##算法分析 需要尽可能的向上跳,但是两者之间不能相遇。(因为如果相遇了,那么很有可能,虽然是公共祖先,但是未必是最近的) 倍增法:“倍增”就是指跳的时候是以$2^n$而不是一个一个跳,并且是从大数往小数跳。 阅读全文
摘要:
##题目链接 https://www.luogu.com.cn/problem/P3865 ##适用范围 主要是处理区间最值问题。 ##时间复杂度 $O(n\log_)$的时间内进行预处理,$O(1)$的时间进行查询。(线段树解决可能会超时) $j$即列数:最大是$\log_{2} $(计算机上默认 阅读全文