topcoder 642
A:直接拆开字符串写就好了。
今天的题目比较容易一些:
B:题目大意:
求最少的翻转次数,每次翻转i是对应 y%i==0都会翻转。
球所有翻转为off状态的最小次数;
从最小idx开始,依次做就好了,因为它的状态是以后做不到的。
C:题目大意:
给出一个带权重的无向图。
求最大的height使0-n-1中权重小于Height的话花费(边值-height)^2;
先二分height;然后求出0->n-1中cost 最小的数是否大于给定的值。
求得时候可以用spfa ,当然有dp写法
#include<queue>
#include <string>
#include <vector>
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
#define inf 203456789
typedef long long ll; struct node
{
int v,w;
};
vector<node> mp[]; ll dp[];
int boo[];
int n;
long long b; class TallShoes {
public: void bfs(int limit)
{
queue<int> q;
memset(boo,,sizeof(boo));
for (int i=;i<n;i++)
dp[i]=(ll) inf*inf;
dp[]=;
q.push(); while (!q.empty())
{
int u=q.front();
q.pop();
boo[u]=;
for (int i=;i<mp[u].size();i++)
{
int v=mp[u][i].v;
ll k=;
if (mp[u][i].w<limit) k=(ll) (limit-mp[u][i].w)*(limit-mp[u][i].w); if (dp[v]>dp[u]+k)
{
dp[v]=dp[u]+k;
if (!boo[v])
{
boo[v]=;
q.push(v);
}
}
} }
} int pan(int x)
{
bfs(x);
if (dp[n-]<=b) return ;
return ;
} int maxHeight(int N, vector <int> X, vector <int> Y, vector <int> height, long long B) {
n=N;
b=B;
for (int i=;i<X.size();i++){
node edge;
edge.v=Y[i];
edge.w=height[i];
mp[X[i]].push_back(edge);
edge.v=X[i];
mp[Y[i]].push_back(edge);
} int l=,r=; int ans=-;
for (int _=;_<=;_++)
{
int mid=(l+r)/;
if (pan(mid)) {
l=mid;
ans=l;
}
else r=mid;
}
return ans;
}
};
这里初始值的设置要注意
div 1 A:
以为是求期望 ,比想象的简单点:
我们是求>=s的期望值,
先DP出求概率多少,再ans+=(I-S)*dp[i] I>=S;
#include<queue>
#include <string>
#include <vector>
#include<iostream>
#include<string.h>
#include<algorithm>
#include<cstdio> using namespace std;
#define N 111111
typedef long long ll;
double dp[N*]; class WaitingForBus {
public:
double whenWillBusArrive(vector <int> time, vector <int> prob, int s) {
dp[]=;
for (int i=;i<s;i++)
{
for (int j=;j<time.size();j++)
dp[i+time[j]]+=dp[i]*prob[j]/;
} double ans=; for (int i=s;i<*N;i++) //cout<<dp[i]<<" ";
ans+=dp[i]*(i-s);
return ans;
}
};
topcoder 642的更多相关文章
- TopCoder SRM 642 Div.2 1000 --二分+BFS
题意: 给你一张图,N个点(0~N-1),m条边,国王要从0到N-1,国王携带一个值,当走到一条边权大于此值的边时,要么不走,要么提升该边的边权,提升k个单位花费k^2块钱,国王就带了B块钱,问能携带 ...
- TopCoder kawigiEdit插件配置
kawigiEdit插件可以提高 TopCoder编译,提交效率,可以管理保存每次SRM的代码. kawigiEdit下载地址:http://code.google.com/p/kawigiedit/ ...
- 记第一次TopCoder, 练习SRM 583 div2 250
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...
- TopCoder比赛总结表
TopCoder 250 500 ...
- Topcoder几例C++字符串应用
本文写于9月初,是利用Topcoder准备应聘时的机试环节临时补习的C++的一部分内容.签约之后,没有再进行练习,此文暂告一段落. 换句话说,就是本文太监了,一直做草稿看着别扭,删掉又觉得可惜,索性发 ...
- TopCoder
在TopCoder下载好luncher,网址:https://www.topcoder.com/community/competitive%20programming/ 选择launch web ar ...
- TopCoder SRM 596 DIV 1 250
body { font-family: Monospaced; font-size: 12pt } pre { font-family: Monospaced; font-size: 12pt } P ...
- 求拓扑排序的数量,例题 topcoder srm 654 div2 500
周赛时遇到的一道比较有意思的题目: Problem Statement There are N rooms in Maki's new house. The rooms are number ...
- TopCoder SRM 590
第一次做TC,不太习惯,各种调试,只做了一题...... Problem Statement Fox Ciel is going to play Gomoku with her friend ...
随机推荐
- xml文件对应的DTD学习
DTD文件: 1.DTD文档主要由(元素,属性,实体,PCDATA,CDATA) 2.声明一个元素:<!ELEMENT 元素名称 (元素内容)> eg: <!ELEMENT pers ...
- 不复杂的Autofac注入
private static void SetAutofacWebAPI() { var builder = new ContainerBuilder(); #region 配置注册方法 string ...
- 4.python中的用户交互
学习完如何写'hello world'之后,我们还是不太满意,因为这样代码就写死了,以后运行的时候都只打印一局固定的话而已. 但是,我想在程序运行后,自己手动输入内容怎么办,此时就要学习如何使用用户交 ...
- kettle删除资源库中的转换或者作业
在资源库中新建转换,作业都很简单,那么加入现在不需要其中某个转换或者作业该怎么办呢? 下图是已经存在的转换跟作业 现在需要删除aa这个转换 操作步骤如下: 1.工具----资源库----探索资源库 出 ...
- word超链接显示HYPERLINK
在word中编辑超链接后显示的并不是正常的超链接 正常的超连接 非正常显示 解决办法: 文件---选项----高级,如下图 将“显示域代码而非值域”前面的勾去掉.
- oracle-审计导数
1.因审计需求,需要将MySQL.Oracle数据库中需要的表数据导入到SqlSERVER进行审计. 2.之前的方法: A. oracle组将表dump下来,进行压缩,传送到oracle导数服务器 ...
- Java Collections Source Code Series 2 ---接口
废话开篇 自己学完Java Collections框架之后,其中的一个较大的收获就是接口对于层次的重要性.Java Collections的最终实现至少有几十个,其中很多都有非常相似的功能(metho ...
- android 连续点击退出程序
package com.test.twiceexit; import java.util.Timer; import android.app.Activity;import android.os.Bu ...
- Windows Phone自定义控件 ProgressRing
前言 Windows Phone为开发者提供了很多原生控件,但在很多场景下我们需要对默认的功能或样式做一定的修改才能满足我们的需求,自定义控件应运而生.本文通过以自定义控件进度环(ProgressRi ...
- Android or iOS 运行 meteor App 屏幕一片空白 White screen的解决方法
在mac上出现这种错误,多是与文件夹的权限有关,有人建议把~/.meteor目录删除,重新下载安装.在墙内重新下载安装的代价非常之大. 简单的解决方法,便是把~/.meteor,以及当前项目目录的权限 ...