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)的更多相关文章

  1. HDU 5045 状压DP 上海网赛

    比赛的时候想的是把n个n个的题目进行状压 但这样不能讲究顺序,当时精神面貌也不好,真是挫死了 其实此题的另一个角度就是一个n个数的排列,如果我对n个人进行状压,外面套一个按题目循序渐进的大循环,那么, ...

  2. 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 ...

  3. HDU 4768 Flyer (2013长春网络赛1010题,二分)

    Flyer Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  4. HDU 4747 Mex (2013杭州网络赛1010题,线段树)

    Mex Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submis ...

  5. HDU 4733 G(x) (2013成都网络赛,递推)

    G(x) Time Limit: 2000/500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...

  6. hdu 6152 : Friend-Graph (2017 CCPC网络赛 1003)

    题目链接 裸的结论题.百度 Ramsey定理.刚学过之后以为在哪也不会用到23333333333,没想到今天网络赛居然出了.顺利在题面更改前A掉~~~(我觉得要不是我开机慢+编译慢+中间暂时死机,我还 ...

  7. 2014上海网络赛 HDU 5053 the Sum of Cube

    水 #include <stdio.h> #include <stdlib.h> #include<math.h> #include<iostream> ...

  8. hdu 5053 the Sum of Cube(上海网络赛)

    the Sum of Cube Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  9. hdu 5476 Explore Track of Point(2015上海网络赛)

    题目链接:hdu 5476 今天和队友们搞出3道水题后就一直卡在这儿了,唉,真惨啊……看着被一名一名地挤出晋级名次,确实很不好受,这道恶心的几何题被我们3个搞了3.4个小时,我想到一半时发现样例输出是 ...

随机推荐

  1. 为Chrome多账户添加单独的快捷方式

    Chrome的多账户功能非常好用,每个账户都有自己的独立的收藏夹.个人设置等.但是,当你要使用的账户不是默认账户时,必须经过一个切换的操作.本文将简单的介绍一个如何各账户添加快捷方式,从而实现直接登陆 ...

  2. Delphi 实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题

    给你一段代码,网上转的:unit uMyClassHelpers;//实现窗体自适应调整尺寸以适应不同屏幕分辩率的显示问题.//        陈小斌,2012年3月5日 interface Uses ...

  3. tiny4412 串口驱动分析三 --- log打印的几个阶段之内核自解压

    作者:彭东林 邮箱:pengdonglin137@163.com 开发板:tiny4412ADK+S700 4GB Flash 主机:Wind7 64位 虚拟机:Vmware+Ubuntu12_04 ...

  4. Makefile文件的使用

    编译程序: vi Makefile exe:a.c b.c gcc a.c b.c -o exe clean: rm exe 保存并退出: 这里exe:a.c b.c面的exe称为目标:a.c b.c ...

  5. django验证码django-simple-captha

    搭建网站很经常要用到验证码,django中就有这样的中间件django-simple-captha githup地址https://github.com/mbi/django-simple-captc ...

  6. appium python学习记录

    这是网上找到的测试用例 from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' ...

  7. ElasticSearch测试数据

    curl命令数据 curl -XPUT http://127.0.0.1:9200/us/user/1 -d "{\"email\":\"john@smith. ...

  8. 在scala中:: , +:, :+, :::, +++的区别总结

    初学Scala的人都会被Seq的各种操作符所confuse.下面简单列举一下各个Seq操作符的区别. 4种操作符的区别和联系 :: 该方法被称为cons,意为构造,向队列的头部追加数据,创造新的列表. ...

  9. selenium的PageObject设计模式

    PageObject设计模式1. Web自动化测试框架(WebTestFramework)是基于Selenium框架且采用PageObject设计模式进行二次开发形成的框架. 2. web测试时,建议 ...

  10. 联想T470设置U盘启动

    联想T470设置U盘启动 学习了:http://www.udaxia.com/upqd/10092.html # F12 in Enter in USB HDD 如果不行: App Menu > ...