牛客网
在牛客网比赛过程中遇到的题
麦片老板
Please show the code
展开
-
建通道
原题地址:https://ac.nowcoder.com/acm/contest/3003/I 解题思路 先去掉重复的,因为重复的相连之后得到的lowbit=0 只要找到在某一个二进制(第k位)中,各个数字合起来有0和有1,把每一个0和1连接起来得到的结果是最小的,ans=2^k(n-1)* 上图 AC代码 #include<cstdio> #include<cmath>...原创 2020-02-14 22:30:54 · 90 阅读 · 0 评论 -
施魔法
原题地址:https://ac.nowcoder.com/acm/contest/3003/H 解题思路 一道挺难想到的动态规划(原谅我智商不够,一开始做的时候想不到这个是动态规划),先对数组进行排序,极差值就会变成最后一个减第一个。 从第2k个开始,有两种选择,要么接上上一个的尾巴,要么从之前的第k个现在的这个,重新组成一个段。 最后输出dp[n] AC代码 #include <iostr...原创 2020-02-14 22:23:03 · 302 阅读 · 0 评论 -
判正误
原题地址:https://ac.nowcoder.com/acm/contest/3003/G 解题思路 本题的主要难点就是降幂求模,通过欧拉降幂减少算法复杂度。 AC代码 #include <iostream> #include <cmath> using namespace std; int a, b, c, d, e, f, g; const int m = 1145...原创 2020-02-14 22:05:56 · 101 阅读 · 0 评论 -
拿物品
原题地址:https://ac.nowcoder.com/acm/contest/3003/F 解题思路 因为题意希望得分差最大,设牛牛为N,牛可乐为M,(N-M)增加,则N增加,M减少,即牛牛拿到的ai增加,牛可乐拿到的bi减小,反之牛牛拿到的bi增加,故计算出ai+bi的值,对ai+bi进行从小到大排序,奇数给牛牛,偶数给牛可乐 AC代码 #include <iostream> #...原创 2020-02-14 22:04:03 · 77 阅读 · 0 评论 -
做计数
原题地址:https://ac.nowcoder.com/acm/contest/3003/E 解题思路 AC代码 #include<iostream> using namespace std; typedef long long ll; int n; ll ans; int main() { cin>>n; for(int i = 1;i*i<=n...原创 2020-02-14 15:41:03 · 74 阅读 · 0 评论 -
数三角
原题地址:https://ac.nowcoder.com/acm/contest/3003/D 解题思路 单纯的计算几何题,钝角三角形的判定方法:最长边的平方大于其余两条边的平方和 注意:需要处理三个点在一条线上的特殊情况 AC代码 #include <iostream> #include <cmath> using namespace std; typedef long ...原创 2020-02-14 15:26:23 · 138 阅读 · 0 评论 -
算概率
原题地址:https://ac.nowcoder.com/acm/contest/3003/C 解题思路 本题的重点在于对模数的计算,很多人不理解模数是怎么算的 模数的计算 假设 q=500000004 , mod = 1e9+7 则 q/(mod+1)=1/2 故q代表的概率为二分之一 另一个难点就是概率的统计 设F[i][j]为在i道题中对j道题的概率,则 F[i+1][j] = F[...原创 2020-02-14 15:23:17 · 69 阅读 · 0 评论 -
排数字
原题地址:https://ac.nowcoder.com/acm/contest/3003/B 解题思路 统计1和6的个数为n1和n6,如果n1的小于n6,ans=n1,如果n1=n6则ans=n1-1,如果n6<n1则ans=n6-1 AC代码 #include<iostream> using namespace std; const int maxn = 200000+10;...原创 2020-02-14 15:13:02 · 120 阅读 · 0 评论 -
做游戏
原题地址:https://ac.nowcoder.com/acm/contest/3003/A 解题思路 把(a,y)(b,z),(c,x)的最小值加到一起就是最终答案 AC代码 #include<iostream> #include<algorithm> typedef long long ll; using namespace std; int main() { ll...原创 2020-02-14 15:09:27 · 274 阅读 · 0 评论 -
nico和niconiconi
原题地址:https://ac.nowcoder.com/acm/contest/3002/I 解题思路 一道中规中矩的动态规划,定义一个dp数组,储存每一个字母下的最大分数,最后输出dp[n] AC代码 #include <iostream> #include <algorithm> using namespace std; const int maxn = 300000...原创 2020-02-14 15:05:07 · 158 阅读 · 0 评论 -
nozomi和字符串
原题地址:https://ac.nowcoder.com/acm/contest/3002/H 解题思路 比较两种情况(从1变成0,从0变成1)的最大长度,运用双指针(尺取法) AC代码 #include<iostream> #include<algorithm> using namespace std; const int maxn = 200000 + 10; int ...原创 2020-02-14 15:02:34 · 141 阅读 · 0 评论 -
eli和字符串
原题地址:https://ac.nowcoder.com/acm/contest/3002/G 解题思路 先对每个字母出现的次数进行统计,只对出现的次数大于大于k的字母进行处理,利用双指针(尺取法) AC代码 #include<iostream> #include<cstring> using namespace std; const int maxn = 200000 +...原创 2020-02-14 14:59:11 · 158 阅读 · 0 评论 -
maki和tree
原题地址:https://ac.nowcoder.com/acm/contest/3002/F 解题思路 深搜统计每个黑点相连的白点的个数,一个黑点的ans为所有与它相连的白点个数加上,两两两条线之间的乘积,把每个黑点的ans相加就是答案 AC代码 #include<iostream> #include<vector> #include<map> #inclu...原创 2020-02-14 14:51:41 · 134 阅读 · 0 评论 -
rin和快速迭代
原题地址:https://ac.nowcoder.com/acm/contest/3002/E 解题思路 直接枚举,算法复杂度可以√n,利用STL中的set记录每个因子,保证不重复 AC代码 #include<iostream> #include<cmath> #include<set> using namespace std; typedef long lon...原创 2020-02-14 14:42:08 · 150 阅读 · 0 评论 -
umi和弓道
原题地址:https://ac.nowcoder.com/acm/contest/3002/C 解题思路 用双指针维护,分别在x轴和y轴上选择最小的一个作为最后的答案 AC代码 #include<bits/stdc++.h> using namespace std; #define ll long long vector<double>v1,v2; ...原创 2020-02-14 14:34:07 · 156 阅读 · 0 评论 -
honoka和格点三角形
题目描述 honoka最近在研究三角形计数问题。 她认为,满足以下三个条件的三角形是“好三角形”。 1.三角形的三个顶点均为格点,即横坐标和纵坐标均为整数。 2.三角形的面积为 。 3.三角形至少有一条边和 轴或 轴平行。 honoka想知道,在平面中选取一个大小为 的矩形格点阵,可以找到多少个不同的“好三角形”?由于答案可能过大,请对 取模。 输入描述 两个正整数和( 2≤n,m≤10^...原创 2020-02-14 14:22:39 · 318 阅读 · 0 评论