5.27 indeed 第三次网测
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 第三次网测的更多相关文章
- indeed2017校招在线编程题(网测)三
A. Calculate Sequence 分析:就是斐波那契递推公式,但是初始值是指定的,只用求第10个数,数据范围和复杂度都比较小,直接写. B. 忘了叫啥了. 就是有a-j十个字符组成的字符串, ...
- 【j2ee spring】27、巴巴荆楚网-整合hibernate4+spring4(2)
巴巴荆楚网-整合hibernate4+spring4(2) 1.图文项目 2.首先我们引入对应的jar包 这里用的是oracle 11g,所以我们使用的数据库连接jar包是ojdbc6, 的区别就是支 ...
- 2014-CVTE网测部分软件技术测试题及答案
1.叉树的先序遍历序列和后序遍历序列正好相反,则该二叉树满足的条件是(D) A.空或只有一个结点 B.高度等于其结点数 C.该二叉树是完全二叉树 D.所有结点无右孩子 应该是二叉树的每个结点都只有一个 ...
- indeed 5.13 第二次网测
题目描述,我找不见了,大概写一下想法和代码吧. 1. 没有看 2. 由于数据范围很小,就是简单的枚举,求全排列,然后更新答案. #include<bits/stdc++.h> #defin ...
- 商业模式(三):P2P网贷平台,毛利润测算
之前谈到P2P网贷平台,主要的收入就是"息差". 一直以来,想详细写点P2P平台的收益到底如何的,奈何自己感觉收入上的点不算多,对财务这种核心机密了解的也不多,一直没 ...
- charles功能(三)弱网测试(模拟超慢网速,会导致接口数据返回超时的那种慢)
模拟超慢网速(会导致接口数据返回超时的那种...) 设置带宽和延迟时间(毫秒) 注:可以根据下图中的翻译体会下导致网络延迟的原因: 然后打开网页回变得非常满
- wap网测一道题目
1. 给定一个字符串s, 1 <= len(s) <= 3000, 定义odd palindrome string为长度为奇数的回文串, 求s中该奇回文串的个数. 比如axbcba , 结 ...
- wap 5.23 网测几道题目
1. n个犯人,m个省份, 如果相邻的2个犯人来自同一省份,则是不安全的,求不安全的个数. 正难则反,用全部的个数减去非法的个数,就是最后的答案. m^n - m * (m - 1) ^ (n - 1 ...
- indeed 4.22 第一次网测
1.第一题 没有看 2. 由于数据范围很小,所以每一层需要全排列,寻找最小的花费,然后所有层加起来就是最后的结果. #include<bits/stdc++.h> #define pb p ...
随机推荐
- CAD插入非等比例的图块
主要用到函数说明: _DMxDrawX::InsertBlock 向控件数据库中插入一个图块,不用它插入匿名块.详细说明如下: 参数 说明 BSTR pszDwgFileName 图块定义的dwg 文 ...
- drf06 认证Authentication 权限Permissions 限流Throttling
为了方便接下来的学习,我们创建一个新的子应用 four python manage.py startapp four 因为接下来的功能中需要使用到登陆功能,所以我们使用django内置admin站点并 ...
- centos7安装个人网盘nextcloud
本节介绍如何在centos7上建立个人云盘nextcloud服务器 第一:建立用户nextcloud 第二:安装下载工具wget 第三:把nextcloud账号添加到sudoers目录下 第四:切换到 ...
- G. I love Codeforces
G. I love Codeforces 题目大意:给你n个字符串,以及m个喜欢关系,如果u喜欢v,这时候u会把它的用户名改为 I_love_ 加上v当时的用户名 Examples input 5an ...
- HDU-1864&&HDU-2602(01背包问题)
DP-01背包问题例题 输入处理有点恶心人,不过处理完后就是简单的DP了 从头开始dp[i]表示从0开始到i的最优结果,最后从都边里dp数组,求得最大的报销额. 对于每个i都要从头维护最优结果.(二刷 ...
- uva 524(Prime Ring Problem UVA - 524 )
dfs练习题,我素数打表的时候j=i了,一直没发现实际上是j=i*i,以后可记住了.还有最后一行不能有空格...昏迷了半天 我的代码(紫书上的算法) #include <bits/stdc++. ...
- sha2 替换sha1 时间表
由于sha1签名算法进入淘汰阶段,逐渐弃用中,sha1升级为sha2是大势所趋. 微软已经正式发布sha1弃用策略: http://blogs.technet.com/b/pki/archive/20 ...
- pam_cracklib.so模块
pam_cracklib.so中有很多参数可以选择,具体配置如下: debug此选为记录Syslog日志. type=safe输入新密码的时候给予的提示. retry=N改变输入密码的次数,默认值是1 ...
- fzu 2122
#include<stdio.h> #include<string.h> #define N 51000 char s1[200],s2[200],s[N]; int main ...
- static 语句块
static{}(即static块),会在类被加载的时候执行且仅会被执行一次,一般用来初始化静态变量和调用静态方法,下面我们详细的讨论一下该语句块的特性及应用. 一.在程序的一次执行过程中,stati ...