今天看了一下黑书,感觉很刘汝佳,是他的风格,题目挺好的~~~

  • 枚举

P12翻硬币

二进制枚举每一列的情况2^9种。

在每一种情况下然后对于每一行就是翻与不翻的两种情况~~~

  • 贪心

P13钓鱼问题

POJ上有,之前做过,可以再优化一下。

首先枚举在哪里结束,然后剩下的时间就是用来钓鱼,每次选取当前最大的钓鱼,然后更新当前值(优先队列插入与弹出)

  • 递归

P20三色三角形

当查找失败的时候还是要回溯一下,看了一下网上的代码,发现好像我的是最短的~~~

#include <bits/stdc++.h>

using namespace std;

char str[];
vector<char> v; map<int,int> mp;
int n;
bool flag[];
struct Ans {
int a,b;
}ans[]; struct Node {
char s;
int pos;
}; int cnt;
bool solve(vector<Node> &v) {
int len = v.size();
if(len==) {
if(v[].s!=v[].s&&v[].s!=v[].s&&v[].s!=v[].s) {
return true;
}
return false;
}
for(int i = ; i < len; i++) {
Node tmp = v[(i+)%len];
if(v[i].s!=v[(i+)%len].s&&v[i].s!=v[(i+)%len].s&&v[(i+)%len].s!=v[(i+)%len].s) {
ans[cnt].a = v[i].pos;
ans[cnt++].b = v[(i + )%n].pos;
auto it = v.begin() + (i+)%n;
v.erase(it);
if(solve(v)==true)
return true;
cnt--;
v.insert(it,tmp);
}
}
return false;
} vector<Node> strs;
int main()
{
scanf("%d%s",&n,str); for(int i = ; i < n; i++)
strs.push_back((Node){str[i],i}); if(!solve(strs)) {
puts("");
}
else {
printf("%d\n",cnt);
for(int i = ; i < cnt; i++)
printf("%d %d\n",ans[i].a+,ans[i].b+); }
return ;
}

ACM-ICPC(11/9)的更多相关文章

  1. hduoj 4710 Balls Rearrangement 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4710 Balls Rearrangement Time Limit: 6000/3000 MS (Java/Ot ...

  2. 【转】lonekight@xmu·ACM/ICPC 回忆录

    转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM最早听说ACM/ICPC ...

  3. hduoj 4715 Difference Between Primes 2013 ACM/ICPC Asia Regional Online —— Warmup

    http://acm.hdu.edu.cn/showproblem.php?pid=4715 Difference Between Primes Time Limit: 2000/1000 MS (J ...

  4. 2016 ACM/ICPC Asia Regional Qingdao Online 1001/HDU5878 打表二分

    I Count Two Three Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others ...

  5. 2016 ACM/ICPC Asia Regional Shenyang Online 1009/HDU 5900 区间dp

    QSC and Master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  6. 2016 ACM/ICPC Asia Regional Dalian Online 1006 /HDU 5873

    Football Games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)To ...

  7. 2015 ACM / ICPC 亚洲区域赛总结(长春站&北京站)

    队名:Unlimited Code Works(无尽编码)  队员:Wu.Wang.Zhou 先说一下队伍:Wu是大三学长:Wang高中noip省一:我最渣,去年来大学开始学的a+b,参加今年区域赛之 ...

  8. 2016 ACM/ICPC Asia Regional Qingdao Online(2016ACM青岛网络赛部分题解)

    2016 ACM/ICPC Asia Regional Qingdao Online(部分题解) 5878---I Count Two Three http://acm.hdu.edu.cn/show ...

  9. 2017 ACM/ICPC Asia Regional Qingdao Online

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

  10. 2014嘉杰信息杯ACM/ICPC湖南程序设计邀请赛暨第六届湘潭市程序设计竞赛

    比赛链接: http://202.197.224.59/OnlineJudge2/index.php/Contest/problems/contest_id/36 题目来源: 2014嘉杰信息杯ACM ...

随机推荐

  1. python发送信息到邮箱

    import smtplib from email.mime.text import MIMEText 设置服务器所需信息 163邮箱服务器地址 mail_host = 'smtp.163.com' ...

  2. (转)Python格式化字符 %s %d %f

    Python格式化字符 %s %d %f 原文:http://blog.csdn.net/huangfu77/article/details/54807835 格式 描述%% 百分号标记 #就是输出一 ...

  3. centOS查看apache版本的命令

    在centOS 7下: 命令如下: httpd -v

  4. postgres formencode.api.Invalid

    错误提示: Invalid: expected an int in the IntCol 'geom', got <type 'str'> '010100000007EBFFFC3A611 ...

  5. 解决The current branch is not configured for pull No value for key branch.master.merge found in config

    使用Git Pull项目的时候出现这个问题: The current branch is not configured for pull No value for key branch.master. ...

  6. mysql多表条件更新

    有两张表bas_student.bas_householder, 去除学生表中与家长表重复的手机号 UPDATE bas_student a,bas_householder b SET a.mobil ...

  7. C# HashTable 使用用法详解

    C#中如何操作HashTable类呢?本文将给你答案,哈希表(Hashtable)简述在.NET Framework中, 一,Hashtable是System.Collections命名空间提供的一个 ...

  8. git的commit规范及强制校验

      1.背景 在多人协作项目中,如果代码风格统一.代码提交信息的说明准确,那么在后期协作以及Bug处理时会更加方便. 先来介绍本人公司采用的commit规范 Commit message格式 < ...

  9. js数组的sort排序的原理和应用

    1.js sort()方法的应用: 首先:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串( ...

  10. c语言进制转化

    #include <stdio.h> // 进制转化 int main(void) { ; ; int i3 = 0x32C; printf( printf( printf("十 ...