由买买提看人间百态

topics

全部话题 - 话题: cstring
1 2 下页 末页 (共2页)
s***e
发帖数: 793
1
来自主题: Programming版 - How to conver CString to long long type?
or use stringstream in c++
for example
const char* cstring="100000000"
long long num;
std::string lonstring;
std::stringstream converter;
converter< coverter>>num;
from long to string
converter< converter>>longstring;
h**p
发帖数: 377
2
来自主题: Programming版 - How to conver CString to long long type?
我现在用的是atof(),先转成double
让後由double强制转换成long long

or use stringstream in c++
for example
const char* cstring="100000000"
long long num;
std::string lonstring;
std::stringstream converter;
converter< coverter>>num;
from long to string
converter< converter>>longstring;
s*****n
发帖数: 3
3
来自主题: Programming版 - how can I convert CString to char*?
我刚开始自学.我是这么写的:
char *tt =(char *)(LPCTSTR)mycstring;
AfxMessageBox((LPCTSTR)tt);
这么看输出是正确的,但是我想用tt[0]..tt[i]..去得到一个个字符,
却发现只有tt[0]是正确的,后面的都是空的(至少打印不出来)
我应该怎么把CString转化为char*呢? 非常感谢!
B*******g
发帖数: 1593
4
来自主题: Programming版 - how can I convert CString to char*?
试试strcpy吧,忘了是否需要把cstring 转成string了
s*********d
发帖数: 19
5
来自主题: Computation版 - 关于cstring的两个变量的比较
有str1、str2两个cstring类型变量
str1是从edit对话框得到的
str2是从txt文本利用ReadFile()得到
出现诡异的是:假设str1的值是"aa", str2的值是"aa";利用str1.compare(str2)能正
确比较。但是如果str1的值是"bb", str2的值是"bb",结果却是不相等,查看两个的
m_pszData都是显示"bb",但是一个是显示0x000a L''另外一个却显示是0x0062L'b'
请问原因是什么 怎么解决好
s******n
发帖数: 3946
6
来自主题: JobHunting版 - 攒人品之facebook电面面经
觉得那个不太好,用share pointer:
class COWString {
share_ptr data;
public:
COWString(const char* input)
{
data = share_ptr(new CString(input));
}
COWString(const COWString& str)
{
data = str.data;
}
COWString& operator=(const COWString& str)
{
data = str.data;
return *this;
}
COWString& SetAt(int index, char c)
{
CString* newStr = new CString(data->c_str());
newStr->SetAt(index, c);
data = share_ptr(newStr);
return *this;
}
char GetAt(int index) const
{
... 阅读全帖
s******n
发帖数: 3946
7
来自主题: JobHunting版 - 攒人品之facebook电面面经
觉得那个不太好,用share pointer:
class COWString {
share_ptr data;
public:
COWString(const char* input)
{
data = share_ptr(new CString(input));
}
COWString(const COWString& str)
{
data = str.data;
}
COWString& operator=(const COWString& str)
{
data = str.data;
return *this;
}
COWString& SetAt(int index, char c)
{
CString* newStr = new CString(data->c_str());
newStr->SetAt(index, c);
data = share_ptr(newStr);
return *this;
}
char GetAt(int index) const
{
... 阅读全帖
s********z
发帖数: 5411
8
来自主题: Programming版 - #ifdef _MSC_VER 是什么意思啊?
我在把下面这段code改成qt,是不是需要删掉 “ifdef _MSC_VER”阿?
这里为什么要用”#ifdef _MSC_VER“ “#endif”阿? 只有是visual studio
compiler情
况下,这个code才能用?
多谢
xx.h
#ifdef _MSC_VER
int ReadString(CString& strMsg, char chStop);
int ReadString(CString& strMsg);
int WriteString(CString strCmd);
#endif
xx.cpp
#ifdef _MSC_VER
int CCamlinkSerial::ReadString(CString& strMsg, char chStop)
{
if (!m_bOpened) { return 0; }
char chCur = chStop + 1; // ensures that ucCur and ucStop are
different to begi... 阅读全帖
y***n
发帖数: 1594
9
No H-1B sponser, GreenCard or Citizehship status is needed.
After apply online, you can let me know if you need additional
information, and I can do referral if needed. But you need apply online
yourself.
Software Developer II (Three positions) .
http://agency.governmentjobs.com/ohio/default.cfm?
action=viewJob&jobID=323540&hit_count=yes&headerFooter=1&promo=0&transfe
r=0&WDDXJobSearchParams=%3CwddxPacket%20version%3D%271%2E0%27%3E%3Cheade
r%2F%3E%3Cdata%3E%3Cstruct%3E%3Cvar%20name%3D%27FIND%5F... 阅读全帖
c******t
发帖数: 205
10
来自主题: Programming版 - 高手请进
我遇到这样一个问题。如何自动upgrade/downgrade家用路由器的firmware (C++)? 我
的方法不灵:
一般firmware upgrade page是一个表格,有一个文件upload field,一个submit
button.
以下是我的方法的一个sample:
/// from 3.01.31 to 3.01.25
CString url = "http://" + RouterIP + "/cgi-bin/upgrade.exe";
CString ref = "http://" + RouterIP + "/system_f.stm";
CString request = "-----------------------------7d715a3150268";
request += "\nContent-Disposition: form-data; name=\"target\"";
request += "\n\n5";
request += "\n-----------------------------7d715a3150268";
reques
M********5
发帖数: 715
11
来自主题: JobHunting版 - 1道brianbench 的题 c++
首先,你要弄清楚这道题的考点。这道题的考点是conversion operator,参考c++
primer的527页。
conversion operator的很明显的一个特点是函数以operator开头,且没有返回值,依
据这一点,排除了三个选项。
第二个考点(本来不是太明显,在这题中),就是const究竟修饰什么,记住一点,
const放在*后面,修饰的就是指针,就是说指针不能再变。
第三个考点,strcmp的参数类型是什么?cstring!cstring又是什么?const char*!
所以这就是我的答案
t*i
发帖数: 72
12
来自主题: Programming版 - 问个C++的String问题
我有些数据存在文件中,我想用C++读入这个文件。 读入的时候一般都读成String
type. 我需要用文件中变量做计算的时候就要把他们换成int or fload type. C++支持
Cstring and string class. 请问我必须要用cstring才能完成char-->int, float转换
,还是用String class也可以。如果两种都可以,能不能比较一下两者的优劣。
非常感谢。
f*******e
发帖数: 3
13
When converting a very long CString to a _bstr_t, I got the "out of stack
space" error.
The code is:
_bstr_t b=LPCTSTR(str); //str is a CString appx. 670000 chars long
Anyway to work around this? Thanks.
A****0
发帖数: 12393
14
来自主题: History版 - 关于方言存废的想法
汉服很好看啊,穿穿无所谓,cosplay连cstring都穿为啥不能穿汉服
p*********a
发帖数: 21
15
来自主题: JobHunting版 - 请教一道算法题
Here is the code to find the largest square matrix, for the rectangular, it's a bit more difficult. I will share the code if possible.
#include
#include
const int N = 100;
int d[N][N];
int m, n;
inline int minF(int a, int b, int c) {
return a }
int main()
{
freopen("in.txt", "r", stdin);
int i, j;
while(scanf("%d%d", &m, &n)!=EOF) {
memset(d, 0, sizeof(d));
for(i=1; i<=m; i++) {
for(j=1; j<=n; j++) {
f*********r
发帖数: 68
16
来自主题: JobHunting版 - 问一些coding题
1. 用DP就可以了时间O(MN), 空间O(MN), 贴一个我写的代码
// [11/7/2009 by Fairylander]
// 最大子矩形
#include
#include
const int N = 201;
int d[N][N]; // '0', '1'
int ht[N][N], lf[N][N], rt[N][N]; //
int m, n;
inline void solve() {
int res = 0;
int i, j;
for(i=1; i<=n; i++) { // init;
ht[0][i] = 0; lf[0][i] = 1; rt[0][i] = n;
}
for(i=1; i<=m; i++) {
int k = 1, tmp;
// 从左向右扫描, (i, j)为长方型的底边上一点, 依次求出对应长方型的高
度ht[i][j],
// 和这个长方型向左最远能延伸到的地方lf[i][j]
B*****t
发帖数: 335
17
来自主题: JobHunting版 - 一道google电面题,估计挂了。。。
写了个程序, x=8327168时, 我的老破机器0秒就可以出结果了
#include
#include
#include
#include
using namespace std;
int x = 8327168, k;
int d[1000];
char buf[100000];
inline bool check(int val, int ix) {
int i;
for(i=0; i<=ix; i++){
if(val%2==1&&d[i]==2) return false;
val >>=1;
}
return true;
}
void dfsFind21Str(int ix, int tot) {
if(tot>x) return;
if(ix==k) {
int i, reminder = 0;
i = 0;
reminder = x;
while(remind
d**f
发帖数: 264
18
程序是没有问题的,问题出在C++
const char* c = "hi";
前面那个const是implicit.
char c[] = "hi";
也不好,这个要depends on compiler.
所以最好的办法是,C++下直接用string
尽量少用cstring.
E*****7
发帖数: 128
19
来自主题: JobHunting版 - C++ 面试题
class String
{
public:
String(const char*);
String();
friend int strcmpu(const String& lhs, const String& rhs);
private:
char* s;
int len;
};
// Implementation for it to compile("Big Three" issue exists)
#include
class String
{
public:
String(const char* in_s)
{
if (in_s)
{
s = new char[strlen(in_s) + 1];
strcpy(s, in_s);
} else {
String();
}
}
String()
{
s = 0;
len = 0;
}
friend int strcmpu(const String& lhs, const String& rhs);
private:
char* s;
... 阅读全帖
g*********s
发帖数: 1782
20
来自主题: JobHunting版 - 也说两个面试题
these are api's...
S**I
发帖数: 15689
21
来自主题: JobHunting版 - 请教c++的string vector问题,谢谢!
error message说的很清楚:string类的operator<没有定义,改成这样子就行了:
#include
#include
#include
#include
#include
using namespace std;
bool comp(const string& s1, const string& s2){
return strcmp(s1.c_str(), s2.c_str()) < 0;
}
int main () {
char *m1[] = {"a","e","c","m"};
vector v1(m1,m1+4);
char *m2[] ={"n"};
vector v2(m2,m2+1);
vector u;
/* int m1[] = {1,2,3,4};
vector v1(m1,m1+4);
int m2[] ={... 阅读全帖
l**********3
发帖数: 161
22
来自主题: JobHunting版 - 求顺时针打印矩阵code
贴个简单点的,但是比较长 。。。
==============
#include
#include
#include
#include
using namespace std;
enum direct_t { RIGHT, DOWN, LEFT, UP };
void print_spiral_matrix(int dimX, int dimY)
{
int** matrix = new int*[dimX];
for (int i=0; i {
matrix[i] = new int[dimY];
memset(matrix[i], 0, sizeof(int)*dimY);
}

int num = 1;
direct_t dir = RIGHT;
int i, j;

for (i=j=0; num <= dimX*dimY; ++num)
{
ma... 阅读全帖
l*********y
发帖数: 142
23
来自主题: JobHunting版 - 这个facebook puzzle样题怎么做?
顺手写了一个,46min整。也没用状态压缩,待会看一下gloomyturkey的code。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
const int maxn = 9;
const int maxk = 6;
int N, K;
struct State {
State() {
for (in... 阅读全帖
l*********y
发帖数: 142
24
来自主题: JobHunting版 - Palantir面经2
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct Segment {
int from, to;
};
struct cmp {
bool operator() (const Segment& s1, const Segment& s2) {
return s1.from < s2.from;
}
};
bool ... 阅读全帖
j*******g
发帖数: 4
25
来自主题: JobHunting版 - atoi很不好写,头都大了...
见过很多次这个题目了,一直没有招,下面写了一个又臭又长的, 方法很笨, 求建议
, 欢迎批评和指正
这样的代码面试可以通过吗?
////////////////////////////////////////////////////////////////
#include
#include
using namespace std;
//假设16位的整型
// -32768 , +32767
const char MAX_INT[] = "32767";
const char MIN_INT[] = "32768";
const int MAX_STRLEN = 5;
bool my_atoi(const char *str, int &res)
{
if(str == NULL)
{
cout << "Invalid pointer" << endl;
return false;
}

int index = 0;

if(str[index] == '-' || s... 阅读全帖
f*******t
发帖数: 7549
26
没那么复杂,只要交换就好了
#include
#include
#include
void swap(char *arr, int idx1, int idx2) {
char temp = arr[idx1];
arr[idx1] = arr[idx2];
arr[idx2] = temp;
}
void permutation(char* arr, int index, int size) {
if (index == size) {
printf("%s\n", arr);
}
else {
for (int i=index; i swap(arr, i, index);
permutation(arr, index+1, size);
swap(arr, i, index);
}
}
}
int main()
{
... 阅读全帖
f*******t
发帖数: 7549
27
来自主题: JobHunting版 - Exposed上一道string permutation的题
#include
#include
#include
void swap(char *arr, int idx1, int idx2) {
char temp = arr[idx1];
arr[idx1] = arr[idx2];
arr[idx2] = temp;
}
void permutation(char* arr, int index, int size) {
if (index == size) {
printf("%s\n", arr);
}
else {
for (int i=index; i if(i != index && arr[i] == arr[index])
continue;
swap(arr, i, index);
permutation(arr, index+1, size);
... 阅读全帖
f*******t
发帖数: 7549
28
平衡括号的题可以用贪心法做吧
#include
#include
#include
#include
#define INVALIDCHAR -1
using namespace std;
char *balance(char *str)
{
int len = strlen(str);
if(len < 1)
return NULL;

char *buff = (char*)calloc(len + 1, 1);
stack left;
for(int i = 0; i < len; i++) {
if(str[i] == '(')
left.push(i);
else if(str[i] == ')') {
if(left.empty()) {
buff[i] = INVALIDCHAR;
co... 阅读全帖
m*********e
发帖数: 13
29
来自主题: JobHunting版 - 问两道facebook面试题
Q1: left = 0, down = 1
#include
#include
using namespace std;
void pathes(int x, int y, string s){
if( x == 0 && y == 0){
cout< return;
}
if(x > 0){
pathes(x-1, y, s+"0");
}
if(y > 0){
pathes(x, y-1, s+"1");
}
};
int main(int argc, char **argv){
pathes(3, 2, "");
}
If some points are not allowed, check it before move left or down.
S**I
发帖数: 15689
30
来自主题: JobHunting版 - [合集] G一面,感觉不咋的
☆─────────────────────────────────────☆
libei (Bei) 于 (Wed Jan 11 15:43:39 2012, 美东) 提到:
面试官是Google+组的,
一上来她说看到我简历上的一篇测试自动化的文章,读了一遍,感觉"very
informative",让后让我介绍一下相关经验。让我小高兴了一下。
第一题是coding,做的还算顺利,后来她评价说所有的cases都覆盖到了。可能算是过
关吧。
第二题我想复杂了,然后在她提示下才解决。自我感觉很不好。其实sort一下就差不多
了,不过我往复杂的树结构想去了。虽然树结构确实能解决这个问题,不过当时我解释
得很不清楚。反正很不爽。
最后瞎聊时间,她说我提到的测试自动化实践和Google内部的基本完全一样blahblah。
。。,不过我觉得这点也算不上加分吧,是个人进google一段时间后都能学会。就怕她
觉得我想问题太复杂,直接negative。
大家有啥建议想法??
☆─────────────────────────────────────☆
peking2 (myfac... 阅读全帖
j*******g
发帖数: 4
31
来自主题: JobHunting版 - 弱弱的问一个问题
见过很多次这个题目了,一直没有招,下面写了一个又臭又长的, 方法很笨, 求建议
, 欢迎批评和指正
这样的代码面试可以通过吗?
////////////////////////////////////////////////////////////////
#include
#include
using namespace std;
//假设16位的整型
// -32768 , +32767
const char MAX_INT[] = "32767";
const char MIN_INT[] = "32768";
const int MAX_STRLEN = 5;
bool my_atoi(const char *str, int &res)
{
if(str == NULL)
{
cout << "Invalid pointer" << endl;
return false;
}

int index = 0;

if(str[index] == '-' ||... 阅读全帖
f*******t
发帖数: 7549
32
来自主题: JobHunting版 - amazon面试题目讨论贴2
#include
#include
#include
#define ENTRYNOTFOUND 0
#define ENTRYFOUND 1
#define NOTCOMPLETE 2
struct Trie;
void FindWords(Trie *root);
struct Trie
{
Trie();
~Trie();
Trie *children[26];
bool isEnd;
};
Trie::Trie()
{
for(int i = 0; i < 26; i++)
children[i] = NULL;
isEnd = false;
}
Trie::~Trie()
{
for(int i = 0; i < 26; i++) {
if(children[i]) {
delete children[i];
children[i] = NULL;
}
}
}
... 阅读全帖
p*i
发帖数: 411
33
来自主题: JobHunting版 - 微软SDE onsite面经及咨询
人当时是拿java里面Integer跟C++的int对比的
C++里面null是0或者0L
http://www.cplusplus.com/reference/clibrary/cstring/NULL/
h*****g
发帖数: 312
34
来自主题: JobHunting版 - leetcode 这题insert interval怎么做?
感觉挺简单的,不知道我的理解是否对
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct Interval
{
int left;
int right;
Interval(int left,int right):left(left),right(right)
{
}
};
/////////////////
void merge_nosort(vector in,Interval * s)
{
int left=s->left;
int right=s->right;
vector out;
... 阅读全帖
h*****g
发帖数: 312
35
来自主题: JobHunting版 - leetcode 这题insert interval怎么做?
感觉挺简单的,不知道我的理解是否对
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct Interval
{
int left;
int right;
Interval(int left,int right):left(left),right(right)
{
}
};
/////////////////
void merge_nosort(vector in,Interval * s)
{
int left=s->left;
int right=s->right;
vector out;
... 阅读全帖
h*****g
发帖数: 312
36
来自主题: JobHunting版 - leetcode 这题insert interval怎么做?
感觉挺简单的,不知道我的理解是否对
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct Interval
{
int left;
int right;
Interval(int left,int right):left(left),right(right)
{
}
};
/////////////////
void merge_nosort(vector in,Interval * s)
{
int left=s->left;
int right=s->right;
vector out;
... 阅读全帖
h*****g
发帖数: 312
37
来自主题: JobHunting版 - leetcode 这题insert interval怎么做?
感觉挺简单的,不知道我的理解是否对
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct Interval
{
int left;
int right;
Interval(int left,int right):left(left),right(right)
{
}
};
/////////////////
void merge_nosort(vector in,Interval * s)
{
int left=s->left;
int right=s->right;
vector out;
... 阅读全帖
s****e
发帖数: 638
38
来自主题: JobHunting版 - 一道面试题:数组 in-place shuffle
下面这个是O(n) 不知道这样做行不行。
#include
#include
#include
using namespace std;
void shuffle(char* A)
{
int size = strlen(A);
int i=1;
while(i if (A[i] & 0x80) {
i++;
continue;
}
int j=i;
int j2;
while(true){
if ( j < size/2 ) j2 = j*2;
else j2 = 2*(j-size/2)+1;
if (j2<=i) break;
swap(A[i], A[j2]);
A[j2] |= 0x80;
j=j2;
}
i++;
}
for (int i=0; i }
int ... 阅读全帖
i***h
发帖数: 12655
39
用C++ STL, 还好了
下面的代码少了最后一步, 也没有sanity check
但也不难
当然效率不是最好的
#include
#include
#include
#include
using namespace std;
bool
compstr(char* a, char* b)
{
return strcmp(a,b)<0;
}
void
suffixArray(char *a, char *b)
{
char *m = (a>b)? a-1 : b-1;
char* suffix[strlen(a)+strlen(b)];
for(int i = 0; i suffix[i] = a+i;
}
for(int i=0; i suffix[strlen(a)+i] = b+i;
}
sort(suffix, suffix+strlen(a)+strlen(b), comp... 阅读全帖
h*****f
发帖数: 248
40
来自主题: JobHunting版 - 上一道我以前喜欢出的题目吧
not so efficient...
#include
#include
#include
#include
#include
#include
int compare(const std::string& v1, const std::string& v2) {
std::vector version1;
std::vector version2;
std::istringstream is1(v1);
std::istringstream is2(v2);
std::string token1;
std::string token2;
double d1, d2;
bool exist1 = true, exist2 = true;
while (true) {
if (exist1) exist1 = std::getline(is1, tok... 阅读全帖
d****o
发帖数: 2
41
来自主题: JobHunting版 - 面试F家让先做programming puzzle
抛砖引玉
#include
#include
#include
const int kMaxK = 5;
const int kMaxN = 8;
const int kMaxS = 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5;
#define DEBUG(v) std::cerr << #v << " = " << (v) << "\n"
int N, K, max_state;
short top[kMaxS][kMaxK];
int G[kMaxS][kMaxK * (kMaxK - 1) + 1];
int src = 0, dst = 0;
int f[kMaxS];
int pow(int base, int power) {
int r = 1;
for (int i = 0; i < power; r *= base, ++i);
return r;
}
int get(int num, int d) {
for (int i = 0; i < d; num /= K, ++i)... 阅读全帖
d****o
发帖数: 2
42
来自主题: JobHunting版 - 面试F家让先做programming puzzle
抛砖引玉
#include
#include
#include
const int kMaxK = 5;
const int kMaxN = 8;
const int kMaxS = 5 * 5 * 5 * 5 * 5 * 5 * 5 * 5;
#define DEBUG(v) std::cerr << #v << " = " << (v) << "\n"
int N, K, max_state;
short top[kMaxS][kMaxK];
int G[kMaxS][kMaxK * (kMaxK - 1) + 1];
int src = 0, dst = 0;
int f[kMaxS];
int pow(int base, int power) {
int r = 1;
for (int i = 0; i < power; r *= base, ++i);
return r;
}
int get(int num, int d) {
for (int i = 0; i < d; num /= K, ++i)... 阅读全帖
j*****y
发帖数: 1071
43
来自主题: JobHunting版 - BB onsite惨败而归 血的教训!
bless
那个 memset的有些疑问,比如我写了这个 code
#include
#include
using namespace std;
int main()
{
int a[4];
memset(a, -1, sizeof(a));
for(int i = 0; i < 4; ++i)
{
cout << a[i] << endl;
}
}
出来的的 是
-1
-1
-1
-1
好像和 memset的 documentation不太一致阿:
void * memset ( void * ptr, int value, size_t num );
Fill block of memory
Sets the first num bytes of the block of memory pointed by ptr to the
specified value (interpreted as an unsigned char).
... 阅读全帖
j*****y
发帖数: 1071
44
来自主题: JobHunting版 - BB onsite惨败而归 血的教训!
bless
那个 memset的有些疑问,比如我写了这个 code
#include
#include
using namespace std;
int main()
{
int a[4];
memset(a, -1, sizeof(a));
for(int i = 0; i < 4; ++i)
{
cout << a[i] << endl;
}
}
出来的的 是
-1
-1
-1
-1
好像和 memset的 documentation不太一致阿:
void * memset ( void * ptr, int value, size_t num );
Fill block of memory
Sets the first num bytes of the block of memory pointed by ptr to the
specified value (interpreted as an unsigned char).
... 阅读全帖
s****A
发帖数: 80
45
看career cup上字符反转的题,给的答案里还要先找一下结尾的NULL字符在哪里
那我面试的时候可不可以include cstring,用一下strlen函数?
l*********8
发帖数: 4642
46
我觉得可以。
另外, 不是STL, 是c standard lib
x*******9
发帖数: 138
47
来自主题: JobHunting版 - Google onsite一题

should
5
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define print(x) cout << x << endl
#define input(x) cin >> x
string make_result(const vector& vec, int idx) {
string res = "";
int len = vec.size();
for (int i = 0; i < idx; i++) {
res += to_string(vec[i]);
}
res += "(";
for (int i = idx; i < len; i++) {
... 阅读全帖
x*******9
发帖数: 138
48
来自主题: JobHunting版 - 问一道G家热题
做了一下
>> 给定一个数字数组 ,其中每个元素是从末端数小于原数组中该元素的个数。求原数
组。
Time complexity: O(n * logn) // quick-sort + traverse
Memo complexity: O(n)
>> 令s[i]为a[i+1..n-1]中比a[i]大的数的数量。求最大的s[i]。要求O(nlogn)
Time complexity: O(n * logn) // Manipulate the Binary Indexed Tree
Memo compleixty: O(n)
#include
#include
#include
#include
#include
#include
using namespace std;
#define print(x) cout << x << endl
#define input(x) cin >> x
const int SIZE = 1024;
// @brief Bin... 阅读全帖
x*******9
发帖数: 138
49
来自主题: JobHunting版 - 请教G家新题 continental divider
#include
#include
#include
#include
#include
#include
using namespace std;
#define input(x) cin >> x
#define print(x) cout << x << endl
const int SIZE = 512;
const int mx[] = {0, 1, 0, -1};
const int my[] = {-1, 0, 1, 0};
int n, sea_cnt;
char g[SIZE][SIZE];
int nr[SIZE][SIZE];
int cnc[SIZE][SIZE];
void find_sea(int y, int x) {
if (g[y][x] != '0') {
return;
}
nr[y][x] = sea_cnt;
for (int i = 0; i < 4; i++) {
... 阅读全帖
t**r
发帖数: 3428
50
来自主题: JobHunting版 - topcoder- strange country problem.
贴个答案
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
const long long LINF = (5e18);
const int INF = (1<<30);
#define EPS 1e-6
const int MOD = 1000000007;
using namespace std;
class StrangeC... 阅读全帖
1 2 下页 末页 (共2页)