EXAM-2018-7-24

未完成

  • [ ] G

签到水题 A J F

A:英文字母有2426个

J:注意long long

D:Transit Tree Path

我直接套了单源最短路的一个模板,有人用的是DFS,模板第一次用,记得是无向图。

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+7;
const long long INF=1e17;
long long dist[maxn];
#define ll long long
bool vis[maxn];
struct node
{
int v,c;
node(int _v=0,int _c=0):v(_v),c(_c){}
bool operator <(const node &r) const
{
return c>r.c;
}
};
struct edge
{
ll v,cost;
edge(ll _v=0,ll _cost=0):v(_v),cost(_cost){}
};
vector<edge>str[maxn];
void dijk(int n,int start)
{
memset(vis,0,sizeof(vis));
for(int i=1;i<=n;i++) dist[i]=INF;
priority_queue<node>q;
while(!q.empty())
{
q.pop();
}
dist[start]=0;
q.push(node(start,0));
node tmp;
while(!q.empty())
{
tmp=q.top();
q.pop();
int u=tmp.v;
if(vis[u]) continue;
vis[u]=true;
for(int i=0;i<str[u].size();i++){
int v=str[tmp.v][i].v;
ll cost=str[u][i].cost;
if(!vis[v]&&dist[v]>dist[u]+cost)
{
dist[v]=dist[u]+cost;
q.push(node(v,dist[v]));
}
}
}
}
void add(int u,int v,int w)
{
str[u].push_back(edge(v,w));
}
int main()
{
int n;
scanf("%d",&n);
int a,b,c;
for(int i=0;i<n-1;i++){
scanf("%d%d%d",&a,&b,&c);
add(b,a,c);
add(a,b,c);
}
int k,q;
scanf("%d%d",&k,&q);
dijk(n,q);
for(int i=1;i<=k;i++){
scanf("%d%d",&a,&b);
printf("%lld\n",dist[a]+dist[b]);
}
return 0;
}

E Lemonade Line

完全是英语阅读理解,题目读不懂,看样例也很难看懂,其实代码很简单。

K 打地鼠游戏

单调队列,刚开始想复杂了,只要队列中有数比要插进来的数小就替换最小的

priority_queue<int, vector<int>, greater<int>>Q;

I 经营与开发

看了题解说什么正难则反一大堆,根本看不懂

终于找到一个有说服力的:

这个我对楼下做出点补充,记最终答案为ans,其实对于每个星球不管是维修还是资源型,都可以把对钻头的改变度记作一个常数k,而且k是有后效性的。我们先具一个i=4的例子,ans=wk1a1+wk1k2a2+wk1k2k3a3+wk1k2k3k4a4,即ans=w(k1a1+k1k2a2+k1k2k3a3+k1k2k3a4),进一步提公因式就是ans=w(k1(a[1]+k2(a[2]+k3(a[3]+k4a[4]))))(这叫什么数学名词来着,蒟蒻忘了),实际上对于每个a[i],a[i]前还要乘上一个符号变量t(维修+1,资源-1,不选乘0)。即ans=w(k1(t1a[1]+k2(t2a[2]+k3(t3a[3]+k4t4a[4]))))那么我们的题目就变为对每项选择最优的符号变量得出最大的答案值。照楼下的思路我们是要从最里面的括号开始推,确保每次括号里的值都最大。

这是因为我们要求的总问题就是使的w(内的值最大)。而每个阶段的决策是tia[i]+ki*(内的值)。因为后一项肯定为正,由最优子结构性质得(内的值一定是最大值)。这样以来楼下的思路就通了。

地址EXAM-2018-7-24

EXAM-2018-7-24的更多相关文章

  1. python中使用Opencv进行车牌号检测——2018.10.24

    初学Python.Opencv,想用它做个实例解决车牌号检测. 车牌号检测需要分为四个部分:1.车辆图像获取.2.车牌定位.3.车牌字符分割和4.车牌字符识别 在百度查到了车牌识别部分车牌定位和车牌字 ...

  2. China Cloud Computing Conference(2018.07.24)

    时间:2018.07.24地点:北京国家会议中心

  3. 2018.4.24 java实现8皇后算法

    import java.util.Scanner; public class Nqueens { private boolean verify(int[] arr,int i) { // TODO A ...

  4. 课堂笔记及知识点----树(2018/10/24(pm))

    树 概念:由一个或多个(n≥0)结点组成的有限集合 T, 有且仅有一个结点称为根( root), 当 n>1时,其余的结点分为 m(m≥0)个互不相交的有限集合 T1,T2, …, Tm.每个集 ...

  5. 课堂笔记及知识点----栈和队列(2018/10/24(am))

    栈: Stack<int>  xt=new Stack<int>() ; 先进后出,后进先出,水杯结构,顺序表类似 常用方法:   .pop---->出栈,弹栈     ...

  6. 2018.5.24 lvm创建pool

    在调试生产环境时遇到以下情况: 好奇心驱使下,发现是lvm的一个功能——lvm创建pool,就手动创建了相似的环境,操作截图如下: 主要命令: vgcreate -s 32M vg /dev/vdb1 ...

  7. 【资料下载区】【iCore4相关代码、资料下载地址】更新日期2018/02/24

    [iCore4相关文档][更新中...] iCore4原理图(PDF)下载iCore4引脚注释(PDF)下载iCore4机械尺寸(PDF)下载 [iCore4相关例程代码][ARM] DEMO测试程序 ...

  8. 2018.4.24 快排查找第K大

    import java.util.Arrays; /* 核心思想:利用快排思想,先假定从大到小排序,找枢纽,枢纽会把大小分开它的两边,当枢纽下标等于k时, 即分了k位在它左边或右边,也就是最大或最小的 ...

  9. 2018.4.24 flask_mail使用

    #!/flask/bin/python # -*- coding: utf-8 -*- from threading import Thread from flask import Flask fro ...

  10. EZ 2018 06 24 NOIP2018 模拟赛(二十)

    很久之前写的一套题了,由于今天的时间太多了,所以记起来就写掉算了. 这一场尽管T2写炸了,但也莫名Rank4涨了Rating.不过还是自己太菜. A. 环游世界 首先我们先排个序,想一下如果不用走回来 ...

随机推荐

  1. (2)关于opencv解压

    关于opencv解压,一定不能解压到你的C盘的 ProgramFile(x86)中,不然,你肯定不会成功,你要放在C盘的其他文件夹,或者是别的盘中 就是因为这一个错误,我弄了一天,哎哎,时间宝贵啊

  2. SQL基础教程(第2版)第3章 聚合与排序:3-4 对查询结果进行排序

    第3章 聚合与排序:3-4 对查询结果进行排序 ● 使用ORDER BY子句对查询结果进行排序.● 在ORDER BY子句中列名的后面使用关键字ASC可以(通常省略默认)进行升序排序,使用DESC关键 ...

  3. Fiddler 断点命令

    Request 断点:bpu /priceCalculate 清除命令:bpu Response 断点:bpafter /priceCalculate 清除命令:bpafter

  4. 2020/1/27代码审计学习之SQL注入漏洞

    PHP代码审计SQL注入漏洞 0x00 首先明确什么是SQL注入,SQL语句必须掌握. 常见的注入总的来说可以分为两大类:数字型和字符型. 这两类中包含了诸如报错注入,宽字节注入,盲注,二次注入,co ...

  5. git clone与git pull区别

    从远程服务器克隆一个一模一样的版本库到本地,复制的是整个版本库,叫做clone.(clone是将一个库复制到你的本地,是一个本地从无到有的过程)从远程服务器获取到一个branch分支的更新到本地,并更 ...

  6. 编程作业1.1——sklearn机器学习算法系列之LinearRegression线性回归

    知识点 scikit-learn 对于线性回归提供了比较多的类库,这些类库都可以用来做线性回归分析. 我们也可以使用scikit-learn的线性回归函数,而不是从头开始实现这些算法. 我们将scik ...

  7. 吴裕雄--天生自然 PYTHON3开发学习:基本数据类型

    #!/usr/bin/python3 counter = 100 # 整型变量 miles = 1000.0 # 浮点型变量 name = "runoob" # 字符串 print ...

  8. PAT Basic 1075 链表元素分类(25) [链表]

    题目 给定⼀个单链表,请编写程序将链表元素进⾏分类排列,使得所有负值元素都排在⾮负值元素的前⾯,⽽[0, K]区间内的元素都排在⼤于K的元素前⾯.但每⼀类内部元素的顺序是不能改变的.例如:给定链表为 ...

  9. Sublime Text3 作Markdown编辑器 配置

    准备 Sublime 配置 1 Package Control 2 安装插件 测试 其他 1. 准备 Windows操作系统 Sublime Text3 编辑器 Web浏览器 2. Sublime 配 ...

  10. ZJNU 1205 - 侦探推理——高级

    双层枚举嫌疑犯与当日是星期几,统计真话与假话是否满足题意 注意 fake<=N&&fake+neutral>=N 即假话数量不大于N,假话加上没用的废话数量不小于N (注意 ...