目录

  • A Quality-Adjusted Life-Year
  • B Gwen’s Gift
  • C Forest for the Trees
  • D H-Index
  • E Driving Lanes
  • F Treasure Spotting
  • G Neighborhood Watch
  • H Small Schedule
  • I Mr. Plow King
  • J Rainbow Road Race

A Quality-Adjusted Life-Year

签到

B Gwen’s Gift

C Forest for the Trees

gcd

const int maxn=5e5+7;
const int inf=0x3f3f3f3f;
ll n,m,t,p,q;
ll a[2],b[2];
inline ll gcd(ll a,ll b){   return b?gcd(b,a%b):a;  }
int main(){ll x1,x2,y1,y2;n=read();   m=read();x1=read();  y1=read();x2=read();  y2=read();t=gcd(n,m);if(t==1){printf("Yes");return 0;}p=n/t;  q=m/t;if(x1<=p&&y1<=q){if(x2>=n-p&&y2>=m-q){printf("Yes");return 0;}ll k=x2/p;if(x2%p!=0) k++;a[0]=k;k=y2/q;if(y2%q!=0) k++;k=min(k,a[0]);printf("No\n");printf("%lld %lld",p*k,q*k);    }else{printf("No\n");printf("%lld %lld",p,q);    }
}

D H-Index

签到 二分

vector<int> v;
bool check(int x) {int cnt = 0;for (int i = v.size() - 1;i >= 0;i--) {if (v[i] >= x) cnt++;else {break;}}return cnt >= x;
}
int main() {int n; scanf("%d", &n);for (int i = 1;i <= n;i++) {int x; scanf("%d", &x);v.push_back(x);}sort(v.begin(), v.end());int l = 0, r = 1e9;while (l < r) {int mid = l + r + 1 >> 1;if (check(mid)) l = mid;else r = mid - 1;}cout << l;return 0;
}

E Driving Lanes

dp
根据题意,我们知道在弯道的情况下,行走的路程是s+c∗is + c * is+c∗i,其中iii表示的是处于第几道,当ccc大于0的情况下,要使得iii尽可能地小,在ccc小于0的情况下,要使得iii尽可能地大,按照贪心的情况,我们可以直接对应111,mmm,所以开始可以考虑贪心,但是要注意在变道的过程中,在直线上行驶的过程中也会多产生一部分代价,所以说在这个过程中,不一定是两个极端的车道1,m更优,而可能是在中间某一个车道产生了最优解,所以这里就不能够在使用贪心来解决,这里我们应该考虑用dpdpdp

ac_code:

int n,m,kk,r;
int a[2007];
int s[2007],c[2007];
int dp[307][307];
int main() {n = read,m = read,kk = read,r = read;r += kk;for(int i=1; i<=n; i++) a[i] = read;for(int i=1; i<n; i++) s[i]=read,c[i]=read;int ans = 0;Clear(dp,0);dp[0][1] = 1;for(int i=1; i<=n; i++) {for(int j=1; j<=m; j++) {if(dp[i-1][j] == 0) continue;int t = dp[i-1][j];for(int k=1; k<=m; k++) {if(a[i] >= abs(k - j) * kk) {if(!dp[i][k]) dp[i][k] = t + abs(k - j) * r + a[i] - abs(k - j) * kk + s[i] + c[i] * k;else dp[i][k] = min(dp[i][k],t + abs(k - j) * r + a[i] - abs(k - j) * kk + s[i] + c[i] * k);
//                  debug(dp[i][k]);}}}}cout << dp[n][1] - 1 << endl;return 0;
}
/**
4 3
5 2
10
10
10
10
4 -1
4 -1
4 1
->514 3
5 2
10
10
10
10
10 -3
10 -3
10 1
->61
**/

F Treasure Spotting

计算几何
重判没了

G Neighborhood Watch

问有多少条道路经过了给出的地点,其中起点和终点可以相同

typedef long long ll;
int a[200010], R[200010];
int main() {int n, m; scanf("%d%d", &n, &m);for (int i = 1;i <= m;i++) {int x; scanf("%d", &x);a[x] = 1;}int idx = n + 1;for (int i = n;i >= 1;i--) {if (a[i] == 0) R[i] = idx;else idx = i;}ll res = 0;for (int i = 1;i <= n;i++) {if (a[i] == 1) res += n - i;else {if (R[i] != n + 1) {res += n - R[i] + 1;}}}res += m;printf("%lld", res);return 0;
}

H Small Schedule

重判没了

I Mr. Plow King

贪心

ll cal(ll n,ll m) {ll ret = 0;while(m) {ll x = (n - 1) * (n - 2) >> 1;if(m > x) {ret += x + 1;m = x << 1,-- n;} else ret += m,-- n,-- m;}return ret;
}
int main() {ll n = read,m = read;ll ret = 0;cout << cal(n,m) << endl;return 0;
}
/****/

J Rainbow Road Race

bfs
二进制
假如给每一个颜色一个标号为1<<x,其中x从1->6
这样一来,就可以转化为求最短路,终止的条件是经过的路径的颜色|(位运算或)之后,值为27-1,而在判断能不能走的时候也可以这样非常巧秒的判断能不能走
ac_code:

#define Clear(x,val) memset(x,val,sizeof x)
ll a[maxn << 1];
struct node {int v,nex,w;int col;
} e[maxn];
int cnt,head[maxn];
int get(char c) {if(c == 'R') return 1;if(c == 'O') return 2;if(c == 'Y') return 3;if(c == 'G') return 4;if(c == 'B') return 5;if(c == 'I') return 6;if(c == 'V') return 7;
}
bool vis[3007][307];
ll dis[3007][307];
void init() {cnt = 0;Clear(head,-1);
}
void add(int u,int v,int w,int col) {e[cnt].v = v;e[cnt].w = w;e[cnt].col = 1<<col;e[cnt].nex = head[u];head[u] = cnt ++;
}
struct Node {int to;ll w;int col;friend bool operator<(Node a,Node b) {return a.w > b.w;}
};
priority_queue<Node> que;
int tot[3007][3007];
int main() {int n = read,m = read;init();char col;for(int i=1; i<=m; i++) {int u = read,v = read,w = read;scanf("%c",&col);int c = get(col) - 1;add(u,v,w,c);add(v,u,w,c);}que.push({1,0,0});// node 1 the tentmemset(dis,127 / 3,sizeof dis);ll ans = 0;int flag = 0;while(que.size()) {Node frt = que.top();que.pop();vis[frt.to][frt.col] = true;if(frt.col == (1 << 7) - 1 && frt.to == 1) {ans = frt.w;flag = 1;break;}int u = frt.to;for(int i=head[u]; ~i; i=e[i].nex) {int to = e[i].v;int w = e[i].w;int col = e[i].col;int jue = col | frt.col;if(vis[to][jue]) continue;// conted with node1if(w + frt.w < dis[to][jue]) {dis[to][jue] = w + frt.w;que.push({to,w + frt.w,jue});}}}assert(flag);cout << ans << endl;return 0;
}
/**
7 7
1 2 1 R
2 3 1 O
3 4 1 Y
4 5 1 G
5 6 1 B
6 7 1 I
1 7 1 V8 7
1 2 1 R
1 3 1 O
1 4 1 Y
1 5 1 G
1 6 1 B
1 7 1 I
1 8 1 V**/

[UPC] 2021秋组队17相关推荐

  1. [渝粤教育] 西安交通大学 医学伦理学(2021秋) 参考 资料

    教育 -医学伦理学(2021秋)-章节资料考试资料-西安交通大学[] 第一讲 测验 1.[单选题]1996年11月,14个国家的代表重新审查医学目的,指出目前的医学目的不包括( ). A.追求安乐死 ...

  2. 2020春招 / 2021秋招阿里、腾讯、字节、快手、美团 JAVA 开发岗面试高频问题总结

    2020春招 / 2021秋招阿里.腾讯.字节.快手.美团 JAVA 开发岗面试高频问题总结 2.1 进程和线程的区别? 2.2 进程的调度算法有哪些?(主要) 2.3 常用 IO 模型? 2.4 s ...

  3. 小米公司2021秋招面试题目整理

    [推荐阅读] 小米嵌入式软件工程师笔试题目解析 大疆笔试题目解析 岗位:嵌入式软件工程师(相机驱动岗).面试时间:40分钟. 以下问题面试者全部答出,已offer,薪资请去小程序offershow上查 ...

  4. [渝粤教育] 山东大学 2021秋中国武术文化(艺术英语) 参考 资料

    教育 -2021秋中国武术文化(艺术英语)-章节资料考试资料-山东大学[] 第一节 中国武术的起源 随堂测验 1.[单选题]武术还是一种文化现象,有深厚的文化内涵.它没有融合哪种文化 A.道家的阴阳和 ...

  5. 2021秋《工程伦理》期末考试答案(仅供参考)

    2021秋<工程伦理>期末考试答案(仅供参考) 分享一波自己的作答,不一定正确 1.以下哪些工程没有遵循自然规律,成为生态上失败的工程.() A.咸海水利工程:B.三门水利枢纽 2.某跨国 ...

  6. 2021秋招Java面试八股文让629人成功进入大厂,堪称2021最强

    前言 2021秋招即将来临,很多同学会问Java面试八股文有必要背吗? 我的回答是:很有必要.你可以讨厌这种模式,但你一定要去背,因为不背你就进不了大厂. 国内的互联网面试,恐怕是现存的.最接近科举考 ...

  7. shl性格测试_德勤2021秋招网申Tips+SHL笔试原题

    德勤校招时间表及对应的提醒 在线网申+线上笔试 2020年7月31日-2020年10月10日 "路人"说:一定一定一定要安排好网申时间--完成网申,即刻收到笔试,同时在收到笔试的5 ...

  8. 2021秋招笔试(1)_乐鑫

    文章目录 2021秋招笔试(1)_乐鑫 1.FIFO测试 **1)题目**: 2)分析 3)解析 2.按键识别.消抖 1)题目 2)分析 3.用Verilog 实现 CRC-8 的串行计算,G(D) ...

  9. 2021秋软工实践第一次结对编程作业

    这个作业属于哪个课程 构建之法-2021秋-福州大学软件工程 这个作业要求在哪里 2021秋软工实践第一次结对编程作业 这个作业的目标 实现博饼软件原型并进行博客写作 学号 031902139 队友学 ...

  10. 2021秋软工实践个人作业一

    2021秋软工实践个人作业一 2021秋软工实践个人作业一 自我介绍 技能树 精简技能树 技能树描述 学期目标 软件工程A 构建之法-2021秋-福州大学软件工程 作业要求 2021秋软工实践个人作业 ...

最新文章

  1. 武汉专科计算机学校排名2015,武汉前十名的大专:2021武汉职校排名榜
  2. 使用open flash chart的BarGlass时遇到的问题
  3. 工作十余年,还是一直被问 委托和事件 有什么区别? 真是够了
  4. java 开发人员工具_Java开发人员的5种工具
  5. Microsoft Visual Studio 2010 破解下载!
  6. 【边缘检测】基于matlab蚁群算法图像边缘检测【含Matlab源码 1189期】
  7. SSM毕设项目汽车4S店管理系统ei9uo(java+VUE+Mybatis+Maven+Mysql)
  8. 门禁卡怎么弄到手机上,手机变成门禁卡,手把手超详细(建议收藏)
  9. 单位组织机构代码提取和补零操作
  10. 关于《人月神话》的读后感
  11. ORA-16401: archivelog rejected by RFS
  12. Qt5.12.x 导入CMakeLists.txt 工程 提示 No suitable kits found.
  13. 【数据库】聚簇索引与非聚簇索引
  14. 基于java web的学生考勤带请假管理系统-计算机毕业设计
  15. QT 创建文件,文件夹
  16. 江湖笑(2006[神雕侠侣]片尾主题曲)铃声 江湖笑(2006[神雕侠侣...
  17. 市场营销学【最精典】案例分析
  18. python显示磁共振图像(MRI)(pydicom)
  19. Linux学习小内容2
  20. 除了搜索,Google还能做什么?(转)

热门文章

  1. 电脑开启热点手机显示不可上网
  2. 二维码扫码功能流程图
  3. mariadb mysql.sock_数据库缺少mysql.sock文件的解决办法
  4. ios端 QQ 内语音通话录制-5823错误原因细究
  5. demonstration记忆_单词记忆法
  6. 关于淘宝商品信息的爬虫
  7. 用友网络发布惠商云平台 五大价值构建企业互联网新生态
  8. web网页设计期末课程大作业:美食餐饮文化主题网站设计——中华美德6页面HTML+CSS+JavaScript
  9. C语言在数组中查找特定整数,c语言在数组中查找某个元素
  10. Windows下安装 Apache 步骤