洛谷
洛谷刷题
Charles6665
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
P1145 约瑟夫
思路:直接暴力枚举,每次推出下一个出队列人的相对编号,判断是否符号即可using namespace std;int k,begin,m;int main(){ ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>k; int l=1; while(1) { bool vis=1; begin=0;//开始启动是0 for(int i=0;i<k;i++) { int v=(be.原创 2020-07-10 21:46:17 · 318 阅读 · 0 评论 -
P1018 乘积最大
思路:dp[i][j][k]代表i-j区间加k个乘号的最大值,区间dp即可。发现大数模板挺好用的,stringstream可以用于大数输入。#include<bits/stdc++.h>using namespace std;const int maxn = 42; struct bign{ int d[maxn], len; void clean() { while(len > 1 && !d[len-1]) len--; } .原创 2020-07-04 00:16:23 · 271 阅读 · 0 评论 -
P1017进制转换
思路:对于这种进制转换问题,基本都是采取辗转相除法进行转换,对于该题不同的是该题的除数是为负数,故每次的余数可能为负,当这种情况,我们只需要讲余数减去除数,再讲商+1即可。(商+1)除数+(余数-除数)=商除数+除数+余数-除数=商*除数+余数=被除数#include<bits/stdc++.h>using namespace std;char c[21]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F',.原创 2020-07-04 00:01:34 · 290 阅读 · 0 评论 -
P1016 旅行家的预算
一看到题目想到是贪心加模拟,但是一直在纠结在某个车站要不要加油,加多少油,加少了便走不完,加多了价格就不是最优的,一直被绕在这里面,后面看了题解才有点明白。整体思路就是在输入数据的时候便可以判断能不能到达重点,因为计算出满油状态下车能走的最远距离,与这些加油站之间距离比较即可,接下来就是判断怎么价格最低。我们需要保证每次走路径烧的油都是当前状态的最低价格,可采用单调队列来做,经过每个加油站,比较当前油箱内哪些没用的油比当前价贵,把这些油退掉换成当前油,每次都把油加到满,最后把油箱你内剩余的油退掉即可。.原创 2020-07-03 22:25:26 · 269 阅读 · 0 评论 -
阶乘(大数模板)
#include<bits/stdc++.h>using namespace std; const int maxn = 1000; struct bign{ int d[maxn], len; void clean() { while(len > 1 && !d[len-1]) len--; } bign() { memset(d, 0, sizeof(d)); len = 1; }.原创 2020-06-28 12:48:10 · 293 阅读 · 0 评论
分享