洛谷
DoloresL
这个作者很懒,什么都没留下…
展开
-
洛谷 P1615 西游记公司
把题目理清楚 然后死算注意 要用longlong即可//P1615 西游记公司//2016.11.26#include <iostream>#include <cstdio>using namespace std;int a1, b1, c1, a2, b2, c2;long long n, x, y; //注意要用longlong int main(){ scanf("%d:%原创 2016-12-10 22:23:34 · 695 阅读 · 0 评论 -
洛谷 P2639 [USACO09OCT]Bessie的体重问题
一开始以为是贪心 后来通过样例数据看不是的(良心的样例) 所以就用了DP其实我还是不明白为什么不是贪心 有大神能解答一下吗~~~这个动态转移方程很接近于01背包 包括我看到的很多题解 也都说这就是01背包 但我以为 这两者仅仅是类似而非一样我以为 做动规题目 不能简单简单地想着套几个模型 而是要不断地从每一个状态来分析 (当然啦 我的愚见)//P2639 [USACO09OCT]Be原创 2016-11-18 08:52:31 · 868 阅读 · 0 评论 -
洛谷 P2871 [USACO07DEC]手链 Charm Bracelet
简单的01背包 可以去记住模板特别注意: - i 和 j 是怎么循环的 - j 要保证大于等于 那什么 怎样才可以相减//P2871 [USACO07DEC]手链 Charm Bracelet //2016.11.15#include <cstdio>#include <iostream>#define MAXN 50000 + 1using namespace std;int n原创 2016-11-18 08:41:14 · 524 阅读 · 0 评论 -
洛谷 P1458 顺序的分数 Ordered Fractions
我写了两种方法:第一种:(看的别人的)某种奇怪的奇巧淫技自己解释不清楚 手动模拟模拟就明白了//P1458 顺序的分数 Ordered Fractions//用了某种很迷的奇巧淫技//2017.3.6#include <iostream>#include <cstdio>using namespace std;int n;void f(int x1, int y1, int x2, int原创 2017-03-07 16:59:40 · 552 阅读 · 0 评论 -
洛谷 P1881 绳子对折
小水题模拟//P1881 绳子对折//2017.4.11#include <iostream>#include <cstdio>#include <algorithm>using namespace std;const int MAXN = 100 + 2;int n, l, s[MAXN], ans;int judge1(int mid){ for (int i = mid -原创 2017-04-11 17:00:08 · 533 阅读 · 0 评论 -
洛谷 P1162 填涂颜色
先假设外面有一圈边框 然后分别从四条边开始填色 每次只要碰到墙就返回注:输出时要把边框去掉//P1162 填涂颜色//2017.4.10#include <iostream>#include <cstdio>using namespace std;int n;int map[36][36];void dfs(int x, int y){// cout << x << " " <<原创 2017-04-11 16:16:54 · 526 阅读 · 0 评论 -
洛谷 P1019 单词接龙
深搜 DFS解释在注释里都有 不多说什么了//P1019 单词接龙//2017.4.26#include <iostream>#include <cstdio>using namespace std;const int MAXN = 24;int n, ans, book[MAXN], connect[MAXN][MAXN];string word[MAXN];char start;i原创 2017-04-30 10:55:16 · 1716 阅读 · 1 评论 -
洛谷 P1034 矩形覆盖 (NOIp提高组2002)
BFS注释非常详细 好几个坐标的运算要多画画图要注意第64行有一个非常简单的剪枝 然而没有就少了20分//P1034 矩形覆盖//2017.5.16//#define LOCAL#include <cstdio>#include <iostream>using namespace std;int n, m, ans = 250000 + 2, num;struct Node{原创 2017-05-23 17:05:37 · 929 阅读 · 0 评论 -
洛谷 P1018 乘积最大(NOIp2000提高组第二题)
DPf[i][j]表示在前i个数字中插入j个乘号时乘积的最大值//P1018 乘积最大//2017.5.22#include <bits/stdc++.h>using namespace std;int n, k;string s;long long f[42][7];int sub(int x, int y){ int num = 0; for (int ii = 0; i原创 2017-05-23 17:11:29 · 1191 阅读 · 0 评论 -
洛谷 P1006 传纸条(NOIP2008提高组第三题)
本以为一来一回两遍DP 然而这样有后效性所以改成了四维DP两个点同时出发 路线不重复 f[i][j][p][q]表示一个到(i, j)一个到(p, q)时 最大的好感度三个判重 Line26 Line34 Line38 一个小剪枝 Line25//P1006 传纸条//2017.5.23 #include <bits/stdc++.h>using namespace std;int m原创 2017-05-23 17:21:58 · 633 阅读 · 0 评论 -
洛谷 P2722 总分 Score Inflation
完全背包问题动态转移方程: f[i][j] = max(f[i - 1][j], f[i][j - c[i] + v[i])对于任意一个f[i][j] 表示选到第i个物品时 可以不选第i件物品 即f[i - 1][j] 或者在原来选过第i的基础上再选一次 即f[i][j - c[i] + v[i] 然后在利用循环数组优化到 f[j] = max(f[j], f[j - c[i] + v[原创 2016-11-18 10:32:46 · 413 阅读 · 0 评论 -
洛谷 P1644 跳马问题
纯深搜 没什么好说的可以写了玩玩//P1644 跳马问题//2017.2.28#include <cstdio>#include <iostream>using namespace std;int m, n, book[21][21];int tot = 0;void dfs(int x, int y){ if (x == m && y == n){ tot++;原创 2017-02-27 14:59:57 · 1061 阅读 · 0 评论 -
洛谷 P1433 吃奶酪 (dfs)
基本的dfs要注意的地方都有注释一开始将dis设成全局变量 结果90分 还有一个点TLE 然后改成局部变量就过了 ( ̄. ̄)。。。 不知道为什么 哪位大神知道的 教教我 (○'ω'○)//P1433 吃奶酪//2017.2.28#include <iostream>#include <cstdio>#include <cmath>using namespace std;int n,原创 2017-02-28 17:18:44 · 589 阅读 · 0 评论 -
洛谷 P1739 表达式括号匹配
水题几个注意点: 1. 可以用cnt来代替栈 2. 对于左括号与右括号 要分别处理//P1739 表达式括号匹配//2016.11.23 #include <cstdio>#include <iostream>using namespace std;char c;int cnt = 0; //用来代替栈 int main(){ while (scanf("%c", &c) =原创 2016-12-10 22:08:22 · 572 阅读 · 0 评论 -
洛谷 P1597 语句解析
没有什么难的 主要是几个注意点//P1597 语句解析//2016.11.22#include <cstdio>using namespace std;char c1, c2;int s[3]; //关于初始化 在主程序外与在主程序内的区别 int main(){ while (scanf("%c:=%c;", &c1, &c2) == 2) //关于scanf读入时的返回值原创 2016-12-10 22:28:54 · 874 阅读 · 0 评论 -
洛谷 P1957 口算练习题
并不难的一条题目就几个点要注意: 1. 计算数字的长度时 要记得可能有负数 对负数要特殊处理 2. 对于这种不是很难 操作却略繁琐的题目 要先将每一步在草稿纸上分析好 再写 以便保持思路的清晰(特别是我这种思维混乱的人)//P1957 口算练习题//2016.11.13#include <cstdio>#include <iostream>#include <stdio.h>#inclu原创 2016-11-18 08:21:38 · 888 阅读 · 0 评论 -
洛谷 P1781 宇宙总统
简单的打擂台 来比较主要关注 cmp中的内容//P1781 宇宙总统//2016.11.13#include <cstdio>#include <iostream>#define MAXN 20 + 1using namespace std;string s[MAXN], ans;int n, num;bool cmp(string x, string y){ if (x.siz原创 2016-11-16 23:54:07 · 642 阅读 · 0 评论 -
洛谷 P1012 拼数
大约有两种方法 来处理 用字符串来比较两数字Solution 1://P1012 拼数//2016.11.12#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#define MAXN 21using namespace std;int n, i;st原创 2016-11-16 00:31:20 · 617 阅读 · 0 评论 -
洛谷 P1307 数字反转
其中的核心语句 是一个很好的 用于数字翻转的模板//P1307 数字反转//2016.11.26#include <iostream>#include <cstdio>using namespace std;int n, m;int main(){ scanf("%d", &n); while (n != 0){ m = m * 10 + n % 10;原创 2016-12-10 22:43:00 · 1759 阅读 · 0 评论 -
洛谷 P1808 单词分类_NOI导刊2011提高(01)
巧妙运用set特别注意核心语句中的奇巧淫技//P1808 单词分类_NOI导刊2011提高(01)#include <cstdio>#include <iostream>#include <algorithm>#include <string>#include <cstring>#include <set>#define MAXN 100 + 2using namespace std;原创 2016-12-10 22:53:08 · 517 阅读 · 0 评论 -
洛谷 P1451 求细胞数量
小水题注: 每次只读入一位 “%1d”//P1451 求细胞数量//2017.3.27#include <iostream>#include <cstdio>using namespace std;int m, n, ans, map[102][102], book[102][102];void dfs(int i, int j){ if (book[i][j]) return ;原创 2017-03-27 15:22:47 · 580 阅读 · 0 评论 -
洛谷 P1106 删数问题
主要思想:贪心每一次都从前往后找 找到第一个数满足 它自己的后一位比前一位大的数 然后删去 因为对于一个位数已知的数来说 位数越靠前 对它值的大小影响越大 (这是可以有严格数学证明的)//例1、删数问题(delete.cpp NOI94)//洛谷 P1106 删数问题 //2017.3.6#include <cstdio>#include <iostream>#include <s原创 2017-03-06 14:59:54 · 771 阅读 · 0 评论 -
洛谷 P1025 数的划分
DP相当于分苹果那个问题 (OpenJudge上好像有)即 将n个苹果放在m个盘子里 假设已从小到大排序 则 若第一个盘子里的苹果数为1 那么方案数f(n, m)等于 把这个苹果(盘子)去掉后的方案数f(n - 1, m - 1) 若第一个盘子中的苹果数不为零 即每个盘子里至少有两个苹果 则将每个盘子里拿走一个苹果不改变其方案数 那么f(n, m) =原创 2017-04-24 15:04:53 · 362 阅读 · 0 评论