随笔分类 - XCPC
1
我与算法的故事。
摘要:##理解一下位运算,想了想初始值的定义。 #include<iostream> using namespace std; int ans = 1 << sizeof(int) * 8 - 1; int main() { cout << "最小值:" << ans << endl; cout << "
阅读全文
摘要:学习算法是件怎样的事,你以为你会学了一种算法,比方说BFS,看网上博客做了两道题,感觉自己会了,殊不知就这道题,过两天给你做,你压根做不出来。 再者,算法那么多,你要学到什么时候?学会一种算法,至少也要经历以下几个步骤: 在网上看讲解 看一道例题代码 找十几道考察到这个算法的题目自己独立做出来 这其
阅读全文
摘要:“我经常有那种感觉,如果这个事情来了,你却没有勇敢地去解决掉,它一定会再来。生活真是这样,它会一次次地让你去做这个功课直到你学会为止。” —— 《像我这样笨拙地生活》 卡特兰数(Catalan number)是 组合数学 中一个常出现在各种 计数问题 中的 数列。 数列的前几项为:1,1, 2,
阅读全文
摘要:函数名: strcpy 功 能: 拷贝一个字符串到另一个 用 法: char *strcpy(char *destin, char *source); char string[10]; char *str1 = "abcdefghi"; strcpy(string, str1); 函数名: strc
阅读全文
摘要:做题5min,交题2h。是从未有过的体验!~鉴于网站全程都是炸的.....故应该全程都有1W同学在线热血奋战。我愿称之为 真 · 网络选拔赛! 1001-A Cut The Wire 题目描述: 在[1,∞]的坐标轴上,问有几组跨越 n 的,满足以下条件的数对: 1. a > n AND a / 2
阅读全文
摘要:动态规划组成部分: 1:确定状态 — 确定最后一步(最优策略) — 抽象子问题 2:归纳转移方程 — 不知道且需要的信息,加进状态里 3:初始条件和边界情况 — 4:计算顺序 — 一般为从左到右,从上到下 例一 最值型动态规划(col1.2) 题目描述: 有2 、 5 、 7三种硬币,求最少几枚能拼
阅读全文
摘要:ORMAX 题目链接:https://ac.nowcoder.com/acm/contest/18962/G 题目描述: 给定一个数组A,长度为n,你需要对该数组进行两种操作: 查询操作:1 l r 存在子区间[X,Y] 使得AX or AX+1 or AX+2 ... AY-2 or AY-1 o
阅读全文
摘要:永远在一起 题目链接:https://ac.nowcoder.com/acm/contest/18962/I 题目描述:给定一个只有'W'、'F'、'?'三种字符组成偶数长字符串,'?'可以当做任意字符。统计其中有多少对'WF'、'FW'构成的子串。 某人:“I题以前也遇到过。” “当时好像写了很久
阅读全文
摘要:前言:背包问题是一类很经典的动态规划问题,知识涵盖可以占常见动态规划类型里的10%。 由于前辈们总结的太好,现在基本上见不到单纯的模板背包问题了,命题人多会结合一些其他知识点进行综合考察,当然背包问题本身就涉及了许多不同的算法。 然后就吉林省赛而言,我认为背包问题的难度覆盖在银牌区间,也就是说,赛场
阅读全文
摘要:第一次练习使用C++的map 题目相关:统计同一个元素出现次数。 链接:https://ac.nowcoder.com/acm/contest/11189/A #include <bits/stdc++.h> using namespace std; #define ll long long int
阅读全文
摘要:数组惊艳绝伦的操作: 链接:https://ac.nowcoder.com/acm/contest/12986/G问题描述:给定两个数组,a[]和b[]。给定两种操作 A:删除数组首位元素,所有元素进行前移,末尾添加任意元素。记为一次操作 B:可以将任意元素进行修改。记为一次操作 求:最少经过几次操
阅读全文
摘要:题目一: 链接:https://ac.nowcoder.com/acm/contest/13504/I 问题描述:求一个序列(数组)所有非空子序列乘积之和。结果对 1000000007 取模。 #include <iostream> #include <cstdio> using namespace
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/13504/E问题描述:给定一个数组,对数组进行多次不同区间问询,查找区间内可以%x的值的个数。 //AC代码: #include <iostream> #include <cstdio> #include <vector
阅读全文
摘要:Seek the Name, Seek the Fame 先看一下KMP核心的next数组的操作: nex[0] = -1; for (i = 1; i <= len; i++) { while (j >= 0 && st[j + 1] != st[i]) //不匹配回溯一个大规律 j = nex[
阅读全文
摘要:顺序排列的完全N叉树,任意节点a的祖先为: a=(a+N-2)/N; 如图3叉树, 5的祖先为(5+3-2)/3 = 6/3 = 2 7的祖先为(7+3-2)/3 = 8/3 = 2 顺序树LCA问题即可直接解决 参考链接:http://www.splaybow.com/post/erchashu-
阅读全文
摘要:四方定理:所有自然数至多只要用四个数的平方和就可以表示。 费马定理:当整数n >2时,关于x, y, z的方程 x^n + y^n = z^n 没有正整数解。 顺序完全N叉树求先祖:a = (a + n - 2) / n。 同余定理:给定一个正整数m,如果两个整数a和b满足a-b能够被m整除,即(a
阅读全文
摘要:学习、记录、成长。 这道题还是做了好半天的,踩了很多细节问题...以前拿C写的时候好像用函数为了存大写数字就整的乱七八糟,这次本以为用 string 会大有增进,不成想在各种修补下依旧变得乱七八糟。但我觉得框架还是很清晰 (\拍桌) 看代码就懂。 #include <iostream> #inclu
阅读全文
摘要:学习,记录,成长。初次见面请多指教。 #include <iostream> #include <vector> #include <algorithm> using namespace std; struct node { int xi; int mi; /* data */ }; bool le
阅读全文
摘要:#螺旋数组 最近看的一本数据结构书里,在数组与广义表部分中间展示了一道螺旋数组题。初见这道题时是在我刚学完C语言第一次在隔壁发博客的时候,当时思路就是循环嵌套,但各种flag变量设置的自己头晕眼花。印象深刻,再见就觉得很有趣,纪念一下! #include<iostream> #include<alg
阅读全文
1

浙公网安备 33010602011771号