Codeforces 938 正方形方格最多0/1 足球赛dijkstra建图
A
#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-8;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 3e7 + ;
const int maxm = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
ll mod = 1e9 + ;
string ans;
int n;
string a;
int flag;
bool ok(char x)
{
if (x == 'a' || x == 'e' || x == 'i' || x == 'o' || x == 'u' || x == 'y')
{
return true;
}
return false;
}
int main()
{
cin >> n >> a;
flag = ;
for (int i = ; i < n; i++)
{
if (flag)
{
if (ok(a[i]))
{
continue;
}
else
{
ans += a[i];
flag = ;
}
}
else
{
if (ok(a[i]))
{
flag = ;
ans += a[i];
}
else
{
ans += a[i];
flag = ;
}
}
}
cout << ans << endl;
return ;
}
B
#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-8;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
const int maxn = 3e7 + ;
const int maxm = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
ll mod = 1e9 + ;
int number[];
int anser = ;
int main()
{
int n;
cin >> n;
for (int i = ; i <= n; i++)
{
int cur;
cin >> cur;
number[cur] = ;
}
for (int i = ; i <= ; i++)
{
if (number[i])
{
anser = max(anser, i - );
}
}
for (int i = ; i >= ; i--)
{
if (number[i])
{
anser = max(anser, - i);
}
}
cout << anser << endl;
return ;
}
C
N*N的方格里 每个方格可以填0或者1 要求每个M*M的小方格里面必须要有一个0
题目给你一个数 问你有没有一对 N,M使之成立
总共有N^2个方格 因为每个M*M的小方格里面需要有一个0 所以每行和每列最少都需要N/M个0 总共就是(N/M)*(N/M)个0
所以答案就是N^2-(N/M)^2个 利用立方差公式可以分解为 (N+(N/M)*(N-(N/M)=ANS 也就是分解质因数 复杂度T*SQRT X
每次遇到一个N M都要检测是否符合条件
#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-10;
const double EPS = 1.0e-4;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
//const int maxn = 3e5 + 10;
const int maxm = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
int main()
{
int n;
cin >> n;
while (n--)
{
int flag = ;
int x;
cin >> x;
if (x == )
{
cout << << " " << << endl;
continue;
}
for (int i = ; i <= ((int)sqrt(x) + ) && (!flag); i++)
{
if (x % i == )
{
int chu;
int beichu;
int a;
a = x / i;
chu = abs(i - a) / ;
if (chu == )
{
continue;
}
beichu = min(i, a) + chu;
int m;
m = beichu / chu;
if (beichu * beichu - (beichu / m) * (beichu / m) == x)
{
cout << beichu << " " << m << endl;
flag = ;
}
//break;
}
}
if (!flag)
{
cout << - << endl;
}
}
}
D
给你N个点 每个点可以都办足球比赛 票价为Ai 同时有M条路(不保证图联通)每条路有COST
问你在城市i的球迷想看球需要的最少的钱(往返加球票钱)
用floyd肯定不行 需要建一个超级源点 然后上堆优化的迪杰斯特拉跑一边 超级源点与原来每个点之间连的边的COST为其票价
#include <bits/stdc++.h>
#define PI acos(-1.0)
#define mem(a,b) memset((a),b,sizeof(a))
#define TS printf("!!!\n")
#define pb push_back
#define inf 1e9
//std::ios::sync_with_stdio(false);
using namespace std;
//priority_queue<int,vector<int>,greater<int>> que; get min
const double eps = 1.0e-10;
const double EPS = 1.0e-4;
typedef pair<int, int> pairint;
typedef long long ll;
typedef unsigned long long ull;
//const int maxn = 3e5 + 10;
const int maxm = ;
const int turn[][] = {{, }, { -, }, {, }, {, -}};
//priority_queue<int, vector<int>, less<int>> que;
//next_permutation
int n, m;
priority_queue<pair<ll, int> > que;
vector<pair<int, ll> > gra[];
ll sdis[];
int visit[];
int main()
{
for (int i = ; i <= ; i++)
{
sdis[i] = 1e18;
}
cin >> n >> m;
int from, to;
ll cost;
for (int i = ; i <= m; i++)
{
scanf("%d %d %lld", &from, &to, &cost);
cost *= 2LL;
gra[from].pb(make_pair(to, cost));
gra[to].pb(make_pair(from, cost));
}
for (int i = ; i <= n; i++)
{
scanf("%lld", &cost);
gra[].pb(make_pair(i, cost));
}
que.push({, });
while (!que.empty())
{
int now = que.top().second;
que.pop();
if (visit[now])
{
continue;
}
visit[now] = ;
int len = gra[now].size();
for (int i = ; i < len; i++)
{
to = gra[now][i].first;
ll value = gra[now][i].second;
if (!visit[to] && sdis[to] > sdis[now] + value)
{
sdis[to] = sdis[now] + value;
que.push({ -sdis[to], to});
}
}
}
for (int i = ; i <= n; i++)
{
cout << sdis[i] << " ";
}
cout << endl;
}
Codeforces 938 正方形方格最多0/1 足球赛dijkstra建图的更多相关文章
- 【转】Codeforces Round #406 (Div. 1) B. Legacy 线段树建图&&最短路
B. Legacy 题目连接: http://codeforces.com/contest/786/problem/B Description Rick and his co-workers have ...
- Educational Codeforces Round 25 E. Minimal Labels 拓扑排序+逆向建图
E. Minimal Labels time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- Codeforces Round #406 (Div. 1) B. Legacy 线段树建图跑最短路
B. Legacy 题目连接: http://codeforces.com/contest/786/problem/B Description Rick and his co-workers have ...
- hdu4106 区间k覆盖问题(连续m个数,最多选k个数) 最小费用最大流 建图巧妙
/** 题目:hdu4106 区间k覆盖问题(连续m个数,最多选k个数) 最小费用最大流 建图巧妙 链接:http://acm.hdu.edu.cn/showproblem.php?pid=4106 ...
- Codeforces 杂题集 2.0
记录一些没有写在其他随笔中的 Codeforces 杂题, 以 Problemset 题号排序 1326D2 - Prefix-Suffix Palindrome (Hard version) ...
- Codeforces Round #523 (Div. 2) E. Politics(最小费+思维建图)
https://codeforces.com/contest/1061/problem/E 题意 有n个点(<=500),标记第i个点的代价a[i],然后分别在这n个点建两棵树,对于每颗树的每个 ...
- CodeForces 786B Legacy(线段树优化建图+最短路)
[题目链接] http://codeforces.com/problemset/problem/786/B [题目大意] 给出一些星球,现在有一些传送枪,可以从一个星球到另一个星球, 从一个星球到另一 ...
- Codeforces Round #545 (Div. 2) E 强连通块 + dag上求最大路径 + 将状态看成点建图
https://codeforces.com/contest/1138/problem/E 题意 有n个城市(1e5),有m条单向边(1e5),每一周有d天(50),对于每个城市假如在某一天为1表示这 ...
- [Codeforces 1197E]Culture Code(线段树优化建图+DAG上最短路)
[Codeforces 1197E]Culture Code(线段树优化建图+DAG上最短路) 题面 有n个空心物品,每个物品有外部体积\(out_i\)和内部体积\(in_i\),如果\(in_i& ...
随机推荐
- Spring下面的@Transactional注解的讲解
摘自: https://www.cnblogs.com/xiohao/p/4808088.html Spring下面的@Transactional注解标志的讲解 最近在开发中对Spring中的事务标记 ...
- flask环境布署--废弃不用,只留作备份
[前置条件] 创建1个flask-demo,生成requirement.txt文件(下载好gunicorn),上传至git.创建demo参照:创建一个flask api-demo(响应体显示中文) g ...
- springMVC4+spring4+hibernate4框架搭建
最近项目不是很忙,整理了一个springMVC框架给大家分享下,框架结构:springMVC4+spring4+hibernate4,主要是spring配置.springmvc配置.hibernate ...
- 测开之路一百五十四:ajax+json前后台数据交互
在实际工作中,前后端数据交互大部分都是用的json格式,后端把数据处理完后,把json传给前端,前端再解析 项目结构 models里面加入把数据转为字典的方法 from datetime import ...
- 用U盘完成win10系统的安装
电脑太卡了,每次都要重装,然后每次忘记要从哪里开始动手,都要百度,仅以此篇记录下 目录 1.系统盘准备 2.从U盘启动安装 1.系统盘准备 第一步:在电脑中完成系统盘制作工具的安装,由于它是要依赖.n ...
- 一个ETF基金经理的心路历程
简介: 鹏华沪深300ETF拟任基金经理崔俊杰先生,金融工程专业管理学硕士,5年证券基金从业经验.2008年7月加盟鹏华基金管理有限公司,历任产品规划部产品设计师.量化投资部量化研究员,先后从事产品设 ...
- vue路由高级用法
五.路由设置高级用法alias 别名 {path:'/list',component:MyList,alias:'/lists'}redirect 重定向 {path:'/productList',r ...
- Flask框架(五) —— session源码分析
Flask框架(五) —— session源码分析 目录 session源码分析 1.请求来了,执行__call__方法 2.__call__方法 3.调用__call__方法 3.1.ctx = s ...
- C# 编写的webservice 怎样返回XML数据
[WebMethod] public string GetXml() { string sConStr = ConfigurationManager.ConnectionStrings["c ...
- centos7 无法启动网络(service network restart)错误解决办法(转)
centos7 无法启动网络(service network restart)错误解决办法:(以下方法均为网上COPY,同时感谢原博主分享) systemctl status network.serv ...