HDU 5045 5047 5050 5053(上海网络赛E,F,I,L)
HDU 5045 5047 5050 5053
太菜了,名额差点没保住。吓尿。。赶紧开刷树链抛分
5045:状压DP。压缩10个人。因为两个人不能差2以上,所以能够用01表示
5047:推推公式就可以,每次交线多4条
5050:求GCD。用java大叔就可以
5053:签到题
代码:
5045:
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; const int N = 1025; int t, n, m, vis[N][N];
double dp[N][N], g[15][N]; double dfs(int u, int num) {
if (u == (1<<n) - 1) u = 0;
if (vis[u][num]) return dp[u][num];
vis[u][num] = 1;
if (num == m) return dp[u][num] = 0;
dp[u][num] = 0;
for (int i = 0; i < n; i++) {
if (u&(1<<i)) continue;
dp[u][num] = max(dp[u][num], dfs(u|(1<<i), num + 1) + g[i][num]);
}
return dp[u][num];
} int main() {
int cas = 0;
scanf("%d", &t);
while (t--) {
scanf("%d%d", &n, &m);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
scanf("%lf", &g[i][j]);
}
}
memset(vis, 0, sizeof(vis));
printf("Case #%d: %.5lf\n", ++cas, dfs(0, 0));
}
return 0;
}
5047:
#include <cstdio>
#include <cstring> typedef long long ll; const ll MOD = 100000000;
int t;
ll n; struct Num {
ll num[5];
int len;
Num() {
len = 0;
memset(num, 0, sizeof(num));
}
void init(ll x) {
len = 0;
if (x == 0) {
len = 1;
num[0] = 0;
return;
}
while (x) {
num[len++] = x % MOD;
x /= MOD;
}
} Num operator * (Num c) {
Num ans;
for (int i = 0; i < len; i++) {
for (int j = 0; j < c.len; j++) {
ans.num[i + j] += num[i] * c.num[j];
}
}
ans.len = len + c.len;
for (int i = 0; i < ans.len; i++) {
ans.num[i + 1] += ans.num[i] / MOD;
ans.num[i] %= MOD;
}
return ans;
} void add() {
while (len && num[len - 1] == 0) len--;
num[0] += 2;
for (int i = 0; i < len; i++) {
num[i + 1] += num[i] / MOD;
num[i] %= MOD;
}
if (num[len]) len++;
while (len && num[len - 1] == 0) len--;
} void print() {
while (len && num[len - 1] == 0) len--;
for (int i = len - 1; i >= 0; i--) {
if (i == len - 1) printf("%I64d", num[i]);
else printf("%08I64d", num[i]);
}
printf("\n");
}
} A, B; int main() {
int cas = 0;
scanf("%d", &t);
while (t--) {
scanf("%I64d", &n);
A.init(n - 1);
B.init(8 * n + 1);
Num c = (A * B);
c.add();
printf("Case #%d: ", ++cas);
c.print();
}
return 0;
}
5050:
import java.util.*;
import java.math.*;
import java.io.*; public class Main {
public static BigInteger gcd(BigInteger a, BigInteger b) {
if (b.equals(BigInteger.valueOf(0)) == true) return a;
return gcd(b, a.mod(b));
}
public static void main(String args[]) {
Scanner cin = new Scanner(System.in);
int t;
t = cin.nextInt();
String a, b;
BigInteger aa, bb;
for (int cas = 1; cas <= t; cas++) {
a = cin.next();
b = cin.next();
aa = BigInteger.valueOf(0);
bb = BigInteger.valueOf(0);
for (int i = 0; i < a.length(); i++) {
aa = aa.multiply(BigInteger.valueOf(2));
if (a.charAt(i) == '1') aa = aa.add(BigInteger.valueOf(1));
}
for (int i = 0; i < b.length(); i++) {
bb = bb.multiply(BigInteger.valueOf(2));
if (b.charAt(i) == '1') bb = bb.add(BigInteger.valueOf(1));
}
BigInteger tmp = gcd(aa, bb);
String ans = "";
while (tmp.equals(BigInteger.valueOf(0)) == false) {
if (tmp.mod(BigInteger.valueOf(2)).equals(BigInteger.valueOf(1))) ans += '1';
else ans += '0';
tmp = tmp.divide(BigInteger.valueOf(2));
}
System.out.print("Case #");
System.out.print(cas);
System.out.print(": ");
for (int i = ans.length() - 1; i >= 0; i--)
System.out.print(ans.charAt(i));
System.out.println();
}
}
}
5053:
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <vector>
#include <set>
using namespace std; typedef long long ll; int t;
ll a, b; int main() {
int cas = 0;
scanf("%d", &t);
while (t--) {
scanf("%I64d%I64d", &a, &b);
ll sum = 0;
for (ll i = a; i <= b; i++)
sum += i * i * i;
printf("Case #%d: %I64d\n", ++cas, sum);
}
return 0;
}
HDU 5045 5047 5050 5053(上海网络赛E,F,I,L)的更多相关文章
- HDU 5045 状压DP 上海网赛
比赛的时候想的是把n个n个的题目进行状压 但这样不能讲究顺序,当时精神面貌也不好,真是挫死了 其实此题的另一个角度就是一个n个数的排列,如果我对n个人进行状压,外面套一个按题目循序渐进的大循环,那么, ...
- 2019上海网络赛 F. Rhyme scheme 普通dp
Rhyme scheme Problem Describe A rhyme scheme is the pattern of rhymes at the end of each line of a p ...
- HDU 4768 Flyer (2013长春网络赛1010题,二分)
Flyer Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- HDU 4747 Mex (2013杭州网络赛1010题,线段树)
Mex Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submis ...
- HDU 4733 G(x) (2013成都网络赛,递推)
G(x) Time Limit: 2000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hdu 6152 : Friend-Graph (2017 CCPC网络赛 1003)
题目链接 裸的结论题.百度 Ramsey定理.刚学过之后以为在哪也不会用到23333333333,没想到今天网络赛居然出了.顺利在题面更改前A掉~~~(我觉得要不是我开机慢+编译慢+中间暂时死机,我还 ...
- 2014上海网络赛 HDU 5053 the Sum of Cube
水 #include <stdio.h> #include <stdlib.h> #include<math.h> #include<iostream> ...
- hdu 5053 the Sum of Cube(上海网络赛)
the Sum of Cube Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- hdu 5476 Explore Track of Point(2015上海网络赛)
题目链接:hdu 5476 今天和队友们搞出3道水题后就一直卡在这儿了,唉,真惨啊……看着被一名一名地挤出晋级名次,确实很不好受,这道恶心的几何题被我们3个搞了3.4个小时,我想到一半时发现样例输出是 ...
随机推荐
- Android基于代理的插件化思路分析
前言 正常的App开发流程基本上是这样的:开发功能-->测试--->上线,上线后发现有大bug,紧急修复---->发新版本---->用户更新----->bug修复.从发现 ...
- etcd:从应用场景到实现原理的全方位解读
随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐 渐为开发人员所关注.在云计算时代,如何让服务快速透明地接入到 ...
- 联想台式机启天m4350 启用intel vt-x
在vmware workstations10 64位上安装windows server 2012操作系统时,出现例如以下错误: 已将该虚拟机配置为使用 64 位客户机操作系统.可是,无法运行 64 位 ...
- LVS/NAT
平台:RedHat Enterprise Linux centos6.3 ipvsadm ipvs 1. NAT模型 NAT模型:地址转换类型,主要是做地址转换,类 ...
- Makefile学习之通配符和自动变量
规则中的通配符 “*” ,“?” ,“ [...]”, " % " , " wildcard " 1.“*” *.c表示所有后缀为.C的文件: 如果文件中用到 ...
- JAVA之接口与实现
/** * * 功能:接口与实现 * 接口也体现了多态性 */package com.test; public class test5 { /** * @param args */ ...
- http://www.360doc.com/content/14/0313/17/16070877_360315087.shtml
http://www.360doc.com/content/14/0313/17/16070877_360315087.shtml
- IntelliJ IDEA 取消控制台行数限制
在idea7之后的版本中取消了 控制台行数设置 选项,只能通过更改配置文件进行更改 在%安装目录%/bin中找到idea.properties文件,更改idea.cycle.buffer.size项值 ...
- 让Mac支持lrzsz
http://blog.csdn.net/citywolf4/article/details/49071679 https://github.com/mmastrac/iterm2-zmodem
- [Functional Programming] Compose Simple State ADT Transitions into One Complex Transaction
State is a lazy datatype and as such we can combine many simple transitions into one very complex on ...