随笔分类 - 算法竞赛
摘要:所谓带状态改变是指:在搜索到某个位置的时候,状态发生改变,继续计算步数。 给一个例题: 蒜头君要回家,但是他家的钥匙在他的朋友花椰妹手里,他要先从花椰妹手里取得钥匙才能回到家。花椰妹告诉他:“你家的钥匙被我复制了很多个,分别放在不同的地方。” 蒜头君希望能尽快回到家中,他需要首先取得任意一把钥匙,请
阅读全文
摘要:在c++编程中,用到迭代器的时候,往往不知道如何删除当前迭代器指向的元素。 erase函数: 返回下一个迭代器。 只使用vector的erase函数,记住,该函数是迭代器失效,返回下一个迭代器。 看下面的一个程序,删除值为4和7的元素,为什么只删除了4? 没有删除7,为什么? 上面的程序基本上属于弱
阅读全文
摘要:关于全排列,使用 C++ 的同学有一个福利,在 <algorithm> 库里面有一个生成全排列的next_permutation函数,可以直接调用。调用方法如下 1 #include <algorithm> 2 #include <stdio.h> 3 int main() { 4 int a[]
阅读全文
摘要:蒜头君手上有一些小木棍,它们长短不一,蒜头君想用这些木棍拼出一个等边三角形,并且每根木棍都要用到。 例如,蒜头君手上有长度为 11,22,33,33 的4根木棍,他可以让长度为11,22 的木棍组成一条边,另外 22跟分别组成 22 条边,拼成一个边长为 33 的等边三角形。蒜头君希望你提前告诉他能
阅读全文
摘要:在n个物品中拿k个,使得花费恰好为m。 典型的dfs,对每一个物品,可以选择拿与不拿,然后在判断下一个物品。 失败的dfs: 代码没有保存,只重写一下dfs函数的关键部分: 对每一个选和不选,都有30层深度。30^30,即使剪枝,优化也不大。 成功的dfs: 上面这样dfs才是类似一个二叉树,复杂度
阅读全文
摘要:STL的algorithm库确实给我们提供了这样的便利,使用模板函数transform可以轻松解决这个问题,开发人员只需要提供一个函数对象,例如将char转成大写的toupper函数或者小写的函数tolower函数。 transform原型: 1 #include <string> 2 #inclu
阅读全文
摘要:#include #include using namespace std; int whatday(int y, int m, int d) { // 返回正确的星期。用 0 - 6 表示 星期 1 - 7 if(m==1||m==2) { y--; m+=12; } return(d+2*m+3*(m+1)/5+y+...
阅读全文
摘要:strstream ss; string ch; ss>ch;
阅读全文
摘要:pow函数如果直接强制类型转换成int,会导致精度的损失。如果是int的幂计算,建议重写函数。或者用double型进行计算。
阅读全文
摘要:某天,蒜头君和花椰妹在公园里散步,走着走着,我的天!他们各自都捡到了一串漂亮的字符串,然而蒜头君好奇心比较重,他想知道自己的字符串在花椰妹的字符串中出现了多少次,例如花椰妹的字符串为abababa,蒜头君的字符串为aba,那么蒜头君的字符串在花椰妹的字符串中出现了 33 次。蒜头君一向比较傲娇,于是
阅读全文
摘要:蒜头君有 nn 块积木,编号分别为 11 到 nn。一开始,蒜头把第 ii 块积木放在位置 ii。蒜头君进行 mm 次操作,每次操作,蒜头把位置 bb 上的积木整体移动到位置 aa 上面。比如 11 位置的积木是 11,22 位置的积木是 22,那么把位置 22 的积木移动到位置 11 后,位置 1
阅读全文
摘要:字符串复制 C/C++ 中函数原型char *strcpy(char *destin, char *source),将source字符串复制到destin。 C/C++ 语言示例程序: 字符串复制 C/C++ 中函数原型char *strcpy(char *destin, char *source)
阅读全文
摘要:李白喝酒,起始有2斗酒,遇到酒店酒翻倍,遇到花店喝一斗。 5个酒店10个花店后刚好喝完。问李白有多少种可能? 二进制枚举: 最后刚好喝完,则最后肯定是花店,喝一斗酒。 假定酒店为1,花店为0,我们枚举14位的二进制数,使得它有5个1,9个0,且使得最后剩酒1斗即答案。
阅读全文
摘要:给定一个小于5000000的数,将之分解为至多4个数的平方和。 #include<bits/stdc++.h> #define maxn 5000005 using namespace std; bool a2b2[maxn]; int main() { memset(a2b2,0,sizeof(a
阅读全文

浙公网安备 33010602011771号