![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题目
qq_43312551
这个作者很懒,什么都没留下…
展开
-
牛客-kotori和糖果(哈斯图吗?)
题意:开始时有n堆糖,每堆开始时有1个把这些糖果聚在一堆。但她每次只能把两堆糖果合并成一堆。已知把两堆数量为a和b的糖果聚在一堆的代价是|a-b|。kotori想知道,她把这n块糖果聚在一堆的最小代价是多少?题目链接one:for(int i=1;i<=1e18+10;i++){ m[i] = m[i/2]+m[i-i/2] +(i/2==0?0:1);}proble...原创 2019-07-03 18:33:27 · 550 阅读 · 1 评论 -
牛客-蹲着还是站着?(找规律)
题意:有N个人排成一排,从1到N按顺序依次编号,现在要执行N次操作,第一次操作让所有的人都蹲下,之后第二次操作让编号是2和2的倍数的人全部站起来,然后第三次操作让编号是3和3的倍数的人全部做相反的动作(站着的人蹲下,蹲下的人站起来),以此类推…,最后第N此操作让编号为N的这个人也做相反的动作。请问N次操作后,从第A个人到第B个人之间(包括A和B这两个数字,且A<B)有多少人是站着的?思路...转载 2019-04-24 10:48:33 · 142 阅读 · 0 评论 -
牛客-六学家的困惑(取出最大的数)
题目链接题意:面前有两根管子,管子里面放满了数字为1到9的小球。每次取球时,小六会先选择一根管子,再从这根管子的某一侧(左侧或右侧)取出一个球。在满足取球规则的情况下,他可以任意顺序取出所有小球。假如小六依次取出的球的编号为样的十进制数a1 a2 a3 —a n.小六希望他的取球顺序所组成的数是最大的分析:每次取最大的好理解,取l1,r1,l2,r2,的最大值就可以,但是列如情况1 ...原创 2019-04-19 15:06:18 · 142 阅读 · 0 评论 -
牛客-Center Street(筛法求约数)
题目链接(筛法求约数)memset(d,inf,sizeof d); d[1] = 0; int n;cin>>n; for(int i=1;i<=n;i++) { for(int j=i+i;j<=n;j+=i) d[j] = min(d[j],d[i]+(ll)(j-i)*(j-i)); }转载 2019-05-03 12:59:08 · 165 阅读 · 0 评论 -
牛客-绕圈游戏(找规律,等差数列)
题目:题目链接题解:找规律当n = 16 时k=1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16k=2 1 3 5 7 9 11 13 15k=4 1 5 9 13k=8 1 9k=16 1只要找到k的约数就可以防止不重复求sum发现是满足等差数列#include<bits/stdc++.h>using namespace st...原创 2019-04-18 21:11:20 · 432 阅读 · 0 评论 -
牛客-How to sort(置换群,排序相关)
置换群题目链接思路:首先肯定交换的肯定是闭环上的数。比如说 4 3 1 2 5。第一个环是4–>2–>3–>1–>4,这几个位置上的数,交换一下位置可以得到递增的。环是以number–>pos[number]–>pos[pos[number]]…下去的。比赛的时候爆WA了,说说赛中的想法。赛中的时候想法就是肯定是用环中最小的数作为媒介去交换啊,记一个环...转载 2019-05-02 16:13:23 · 224 阅读 · 0 评论 -
树形dp
题目#include<bits/stdc++.h>using namespace std;typedef long long ll;const ll inf= 1e18;struct node{ ll v,w; node(ll v,ll w):v(v),w(w){}};vector<node>g[100000+50];ll d[100000+50][2...转载 2019-04-26 20:22:04 · 101 阅读 · 0 评论 -
牛客-小A买彩票(简单dp)
题目链接题意:购买一张彩票需要3元,而彩票中奖的金额分别为1,2,3,4元,并且比较独特的是这个彩票中奖的各种金额都是等可能的。现在小A连续购买了n张彩票,他希望你能够告诉他至少能够不亏本的概率是多少。错误:1 当n==0时 应该输出1/1 而不是0/12 用longlong思路:d[i][j]代表购买第i张彩票时获得j收益的方案数易知d[1][1]=d[1][2]=d[1][3...转载 2019-04-14 18:16:26 · 250 阅读 · 0 评论 -
牛客-小A的回文串(最长回文串,马拉车算法)
题目:题目链接小A只想知道给定的一个字符串的最大回文子串是多少,。现在小A可以对这个字符串做一些改动,他可以把这个字符串最前面的某一段连续的字符(不改变顺序)移动到原先字符串的末尾。那么请问小A通过这样的操作之后(也可以选择不移动)能够得到最大回文子串的长度是多少。思路:1 枚举所有字串 使用马拉车算法2 枚举起点和终点 利用动态规划的思想思路一:待补齐思路二:/*枚举起点和终点 字...原创 2019-04-14 16:58:03 · 203 阅读 · 0 评论 -
牛客-是不是复读机(map,set的应用)
题目链接tip:1 set (string) 读入" “时候,输入会变成”"2可以注意有多个空格3使用map来记录cnt#include<bits/stdc++.h>using namespace std;const int inf= 0x3f3f3f3f;typedef long long ll;set<string>cn;map<string,...原创 2019-04-17 10:27:57 · 94 阅读 · 0 评论 -
牛客-小A的位运算(位运算)
解法1- 统计每个位置二进制1的个数 再枚举就可以了#include<bits/stdc++.h>using namespace std;const int inf= 0x3f3f3f3f;typedef long long ll;const int Bit = 32;const int maxn = 5e6+50;ll a[maxn];ll ans[Bit+5];...转载 2019-04-14 11:50:47 · 201 阅读 · 0 评论 -
牛客-求联通分量(dfs/Floyed-Warshall/tarjan)
题意:给定一张N个点,M条边的有向图,问有多少点对(u,v)(u<v),满足u能到达v且v也能到达u。给定一张N个点,M条边的有向图,问有多少点对(u,v)(u<v),满足u能到达v且v也能到达u。题目tarjan(待补)...原创 2019-04-25 21:21:51 · 237 阅读 · 0 评论 -
判断是否为字序列
题目序列自动机超时代码;(我哭了)int ck(char a[],char b[]){ int l2 = strlen(b); int j=0; for(int i=0;i<l1&&j<l2;i++) { if(a[i]==b[j]) j++; } if(j>=l2) return 1; else return 0;}未超时代码...原创 2019-04-21 11:02:26 · 136 阅读 · 0 评论 -
判断有多少种含有r,x的字串 (长春理工大学第十四届程序设计竞赛(重现赛)M Orx Zone)
牛客链接题意:给出字符串,判断出含有r,x的字串有多少个__输入:orztxor__输出:7解析:设rr xx分别是当前位置下r x的最大下标当i = 5时 rr = 2 xx = 5 min(rr,xx) = 2 易知该以rztx为后缀的字串刚好等于 min(rr,xx) = 2当i = 6 时 min(rr,xx) = 2,以rztxo为后缀的字串为 min(rr,x...原创 2019-07-07 10:00:07 · 240 阅读 · 0 评论