4.26 腾讯笔试部分代码

1.
#include <iostream>
#include <cstdio>
#include <queue>
using namespace std;
int n, m, x, y;
struct node {
int c, w;
double p;
node (int a, int b) {
c = a, w = b;
p = (double(b))/a;
}
friend bool operator < (struct node a, struct node b) {
return a.p < b.p;
}
};

int main()
{
scanf("%d %d", &n, &m);

priority_queue<struct node> q;
for (int i = 0; i < n; i++) {
scanf("%d%d", &x, &y);
q.push(node(x, y));
}
int used = 0, hp = 0, earn = 0, ans = 0;
while (!q.empty()) {
struct node now = q.top();
q.pop();
if (hp < now.c) {
int t = (now.c - hp - 1)/m + 1;
used += t;
hp += t * m;
}
hp -= now.c;
earn += now.w;
ans = max(ans, earn - used);
}
printf("%d\n", ans);


return 0;
}

2.
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int T, A, B, C;

double get(double y) {
return y * y/2/B - (1.0*C)/B * y - y*y*y/6/A;
}

int main() {
scanf("%d", &T);
while (T--) {
scanf("%d %d %d", &A, &B, &C);
//int delta = 4 * (B * C - A) * (B * C - A) - 4 * B * B * C * C;
int delta = 4 * A * A - 8 * A * B * C;
if (delta <= 0) {
printf("0\n");
continue;
}
double a = (2 * A + sqrt((double)delta)) / 2.0 / B;
double b = (2 * A - sqrt((double)delta)) / 2.0 / B;
printf("%.6f\n", get(a) - get(b));
}


return 0;
}


3.
#include <iostream>
#include <cstdio>
using namespace std;
typedef long long LL;
const int mod = 100003;
LL fast_pow(LL a, LL x) {
LL ans = 1;
while (x) {
if (x&1) ans = (ans * a) % mod;
a = (a * a) % mod;
x >>= 1;
}
return ans;
}

int main()
{
LL n, m;
scanf("%lld %lld", &m, &n);
printf("%lld\n", ((fast_pow(m, n) - (m * fast_pow(m - 1, n - 1))%mod) + mod)%mod);

return 0;
}

4.
只得了 30 分,没找到 bug
我的思路:
已知 ai + bi = aj + bj, 可得 ai - aj = -(bi - bj)
所以我把每一行的 k = 0, 和 k = 1 做差,进行二分,再对比每一个的 k,这样子可以达到剪枝的效果,结果 WA 了,只拿了 30 分

5.
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 1e7 + 10;
int fa[maxn], cnt[maxn];

int find_fa(int a) {
if (fa[a] == a) return a;
else {
return fa[a] = find_fa(fa[a]);
}
}

void combine(int a, int b) {
int f_a = find_fa(a);
int f_b = find_fa(b);
fa[f_b] = f_a;
}


int main()
{
int T, n, x, y;
scanf("%d", &T);
while (T--) {
for (int i = 0; i < maxn; i++) {
fa[i] = i;
}
int maxx = 0, minn = maxn;
memset(cnt, 0, sizeof cnt);
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d %d", &x, &y);
combine(x, y);
maxx = max(maxx, max(x, y));
minn = min(minn, min(x, y));
}
int ans = 0;
for (int i = minn; i <= maxx; i++) {
cnt[find_fa(i)]++;
//printf("%d: %d\n", i, find_fa(i));
}
for (int i = minn; i <= maxx; i++) {
ans = max(ans, cnt[i]);
//printf("%d: %d\n", i, cnt[i]);
}
printf("%d\n", ans);
}

return 0;
}



#腾讯2021届暑期实习正式批笔试##笔试题目##腾讯#
全部评论
为啥第二题我0分,算法跟楼主一样,示例也过了😂
点赞
送花
回复
分享
发布于 2020-04-26 22:11
厉害
点赞
送花
回复
分享
发布于 2020-04-26 22:12
秋招专场
校招火热招聘中
官网直投
请教一下(fast_pow(m, n) - (m * fast_pow(m - 1, n - 1))%mod) + mod)%mod) 这边为什么要再加上mod之后再取模呢
点赞
送花
回复
分享
发布于 2020-04-26 22:20
430 强呀
点赞
送花
回复
分享
发布于 2020-04-26 22:28
第4题坑点可能是好多个 0 0 0
点赞
送花
回复
分享
发布于 2020-04-26 23:10
是不是有几套题啊🤣 我咋发现没一道相同的.....
点赞
送花
回复
分享
发布于 2020-04-26 23:43
楼主,感谢您的分享, 感叹一句,人与人的差距,另外我私聊请教您了,希望回复
点赞
送花
回复
分享
发布于 2020-04-27 08:11

相关推荐

感觉这一周太梦幻了,就像一个梦,很不真实~~~感觉这个暑期,我的运气占了99成,实力只有百分之一4.15上午&nbsp;腾讯csig&nbsp;腾讯云部门,面完秒进入复试状态4.16下午&nbsp;美团优选供应链部门,4.18上午发二面4.17晚上&nbsp;阿里国际一面,纯拷打,面完我都玉玉了4.18下午&nbsp;阿里国际二面,是我们leader面的我,很轻松~~4.18晚上&nbsp;约了hr面4.19上午&nbsp;hr面,下午两点口头oc4.19晚上&nbsp;意向书说起来我的暑期好像一次都没挂过~~~~~难道我是天生面试圣体?----------------------------------------------------------------------六个月前,我还是0项目0刷题,当时想的是先把论文发出来再去找实习。结果一次组会,老师打破了我的幻想(不让投B会,只让投刊或者A)我拿头投啊!!!然后就开始物色着找实习,顺便做完了mit的6.s081,但是基本上还是没刷过题目-----------------------------------------------------------------------11月&nbsp;&nbsp;一次偶然的机会,面进了某个耳机厂的手环部门,大概是做嵌入式的,用的是CPP。12月&nbsp;莫名其妙拿到了国创的面试机会,0基础四天速成java基础!居然也给我面过了hhhhh,可能是面试没写题吧入职国创后的几个月,一直没活,天天搁那看剧,都快忘了还有暑期实习这回事了~~~~命运的齿轮在2.26开始转动,因为这一天美团开了,我开始慌了,因为那时的我什么都不会。lc,八股,sql全部是0进度。然后就开始了女娲补天,上班刷题,下班继续做之前的开源,顺便学一学八股。3月到现在,lc也刷到快200了,一天最多提交了47次~~~~~~~~~~八股根据别人的面经总结和博客,写了快十万字的笔记~~~~~~~~~~简历上的实习经历和开源,也努力去深挖了,写了几万字的记录~~~~~~所以面试的时候,基本上都能cover了,面试官问到的基础基本都会,不基础的我就把他往我会的地方引。结果好像还不错,基本上每个面试官评价都挺好的emmmmmmmm
投递阿里巴巴等公司10个岗位
点赞 评论 收藏
转发
6 7 评论
分享
牛客网
牛客企业服务