1. 第一题, 没有看

2. 暴力枚举。每一个部分全排列, 然后求出最大的请求数。

 #include<bits/stdc++.h>
#define pb push_back
typedef long long ll;
using namespace std;
typedef pair<int, int> pii;
const int maxn = 1e3 + ; int n;
int t;
vector<int> a[];
int res = ;
void work(int p, int s, int c) {
if(p >= t) {
res = max(res, c);
return;
} do {
int st = s;
int ct = c;
for (int i = ; i < ; i++) {
if(st >= a[p][i]) {
st -= a[p][i];
ct++;
}
}
work(p + , st, ct);
} while(next_permutation(a[p].begin(), a[p].end()));
}
void solve() {
cin >> n >> t;
int x;
for (int i = ; i < t; i++) {
for (int j = ; j < ; j++) {
cin >> x;
a[i].pb(x);
}
sort(a[i].begin(), a[i].end());
}
work(, n, );
cout << res << endl;
} int main() {
freopen("test.in", "r", stdin);
//freopen("test.out", "w", stdout);
ios::sync_with_stdio();
cin.tie(); cout.tie();
solve();
return ;
}

3. 二叉树, 求路径, 其实很简单, 每个节点只有一个父亲, 然后记录是左还是右, 从目标节点向上走到根节点即可。或者是dfs也可以。

 #include<bits/stdc++.h>
#define pb push_back
typedef long long ll;
using namespace std;
typedef pair<int, int> pii;
const int maxn = 1e5 + ;
int n;
int a[maxn][];
int k;
vector<char> p;
bool work(int x) {
if(x == k) return ;
if(a[x][]) {
if(work(a[x][])) {
p.pb('L');
return ;
}
}
if(a[x][]) {
if(work(a[x][])) {
p.pb('R');
return ;
}
}
return ;
}
void solve() {
scanf("%d%d", &n, &k);
int x, y;
for (int i = ; i <= n; i++) {
scanf("%d%d", &x, &y);
a[i][] = x; a[i][] = y;
} work();
reverse(p.begin(), p.end());
for (char c : p)
printf("%c", c);
printf("\n");
} int main() {
freopen("test.in", "r", stdin);
//freopen("test.out", "w", stdout);
ios::sync_with_stdio();
cin.tie(); cout.tie();
solve();
return ;
}

4. 这个题,刚开始,我以为是找环,然后是环的长度,对每一个节点,用步数求环的余数即可,但是一些节点不在环上,但是他可以到达环,这些点比较难处理。

后来,就想到,我把每一步走到哪里全记录下来就可以了,然后利用lca的数据结构,父亲的父亲, 然后对每一个点的步数进行二分,就可以得到最后的答案了。

#include<bits/stdc++.h>
#define pb push_back
typedef long long ll;
using namespace std;
typedef pair<int, int> pii;
const int maxn = 1e5 + ;
int n;
int a[maxn];
int dp[maxn][];
ll ti;
void solve() {
scanf("%d%lld", &n, &ti);
//ti--;
for (int i = ; i <= n; i++) {
scanf("%d", &a[i]);
dp[i][] = a[i];
//cout << dp[i][0] << endl;
}
for (int j = ; j < ; j++) {
for (int i = ; i <= n; i++) {
dp[i][j] = dp[dp[i][j - ] ][j - ];
}
}
for (int i = ; i <= n; i++) {
int cur = i;
for (int j = ; j >= ; j--) {
if(ti & (1ll << j)) {
cur = dp[cur][j];
//cout << i << " " << j << " " << cur << endl;
} }
printf("%d\n", cur);
} } int main() {
freopen("test.in", "r", stdin);
//freopen("test.out", "w", stdout);
ios::sync_with_stdio();
cin.tie(); cout.tie();
solve();
return ;
}

5.27 indeed 第三次网测的更多相关文章

  1. indeed2017校招在线编程题(网测)三

    A. Calculate Sequence 分析:就是斐波那契递推公式,但是初始值是指定的,只用求第10个数,数据范围和复杂度都比较小,直接写. B. 忘了叫啥了. 就是有a-j十个字符组成的字符串, ...

  2. 【j2ee spring】27、巴巴荆楚网-整合hibernate4+spring4(2)

    巴巴荆楚网-整合hibernate4+spring4(2) 1.图文项目 2.首先我们引入对应的jar包 这里用的是oracle 11g,所以我们使用的数据库连接jar包是ojdbc6, 的区别就是支 ...

  3. 2014-CVTE网测部分软件技术测试题及答案

    1.叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(D) A.空或只有一个结点 B.高度等于其结点数 C.该二叉树是完全二叉树 D.所有结点无右孩子 应该是二叉树的每个结点都只有一个 ...

  4. indeed 5.13 第二次网测

    题目描述,我找不见了,大概写一下想法和代码吧. 1. 没有看 2. 由于数据范围很小,就是简单的枚举,求全排列,然后更新答案. #include<bits/stdc++.h> #defin ...

  5. 商业模式(三):P2P网贷平台,毛利润测算

    之前谈到P2P网贷平台,主要的收入就是"息差".        一直以来,想详细写点P2P平台的收益到底如何的,奈何自己感觉收入上的点不算多,对财务这种核心机密了解的也不多,一直没 ...

  6. charles功能(三)弱网测试(模拟超慢网速,会导致接口数据返回超时的那种慢)

    模拟超慢网速(会导致接口数据返回超时的那种...) 设置带宽和延迟时间(毫秒) 注:可以根据下图中的翻译体会下导致网络延迟的原因: 然后打开网页回变得非常满

  7. wap网测一道题目

    1. 给定一个字符串s, 1 <= len(s) <= 3000, 定义odd palindrome string为长度为奇数的回文串, 求s中该奇回文串的个数. 比如axbcba , 结 ...

  8. wap 5.23 网测几道题目

    1. n个犯人,m个省份, 如果相邻的2个犯人来自同一省份,则是不安全的,求不安全的个数. 正难则反,用全部的个数减去非法的个数,就是最后的答案. m^n - m * (m - 1) ^ (n - 1 ...

  9. indeed 4.22 第一次网测

    1.第一题 没有看 2. 由于数据范围很小,所以每一层需要全排列,寻找最小的花费,然后所有层加起来就是最后的结果. #include<bits/stdc++.h> #define pb p ...

随机推荐

  1. 惊了!!! 小白零基础学java (月薪过万是你的梦想嘛) 手把手教学 就怕你不动手【二十五】第二章【初识MySQL】

    初识MySQL1. 了解主流的数据库和数据库分类1.1 数据库概念数据库:按照数据结构来组织.存储和管理数据的一种建立在计算机存储设备上的仓库. 数据库的优势: 1. 可以持久化存储大量的数据.方便我 ...

  2. python实战教程之自动扫雷

    1.找到游戏窗口与坐标 #扫雷游戏窗口class_name = "TMain"title_name = "Minesweeper Arbiter "hwnd = ...

  3. VMware虚拟机下Ubuntu安装VMware Tools详解

    一.安装步骤 1.开启虚拟机,运行想要安装VMware Tools的系统,运行进入系统后,点击虚拟机上方菜单栏的“虚拟机(M)”->点击“安装 VMware Tools”,图片所示是因为我已经安 ...

  4. 51nod 1002 数塔取数问题【dp】

    一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值. 每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上. 5 8 4 3 6 9 7 2 9 5 例子 ...

  5. Problem 63

    Problem 63 https://projecteuler.net/problem=63 Powerful digit counts The 5-digit number, 16807=75, i ...

  6. 第一节:初识pandas之Series(上)

    Series线性的数据结构, 也是一个一维数组. 声明:本人Python小白,以下代码只是个人学习的过程,仅仅记录一下学习的点点滴滴,若有错误,还望指正. (注:该代码均在jupyter notebo ...

  7. JavaScript单元测试工具-Jest

    标注: 首先这并不是一篇完整的关于Jest的教程,只是个人在接触jest学习的一点随手笔记,大部分内容都是对官方文档的一些翻译. ----------------------------------- ...

  8. 2017 Multi-University Training Contest - Team 4 Classic Quotation

    Classic Quotation Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Othe ...

  9. [cf 599A]Patrick and Shopping

    傻逼题,但是我还是wa了一发. #include <iostream> using namespace std; int main() { long long a,b,c,Ans=0x7f ...

  10. P2330 [SCOI2005] 繁忙的都市 洛谷

    https://www.luogu.org/problem/show?pid=2330#sub 题目描述 城市C是一个非常繁忙的大都市,城市中的道路十分的拥挤,于是市长决定对其中的道路进行改造.城市C ...