2018-12-09から1日間の記事一覧

しゃくとり法完全に理解した

paiza.hatenablog.com しゃくとり虫だ 🐛(bug emoji)

【C++】いもす法を覚えた!abc017_3

cpp

問題 beta.atcoder.jp この問題ではナイーブに解くとO(N * M) いもす法を使うとO(N + M) いもす法の覚えかた いもす法で検索して本人の解説を読む 喫茶店の例までで十分 今回の問題の解答を読む サンプル1のテストデータで図を書き、いもす法のシミュレート…

【C++】数値計算用だけどあまり知られていないvalarrayを使ってみた。内積、循環シフトなど

cpp

#include<valarray> #include<iostream> using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define pn(s) cout << (#s) << " " << (s) << endl void printValArray(valarray<int> A){ for(int a : A){ cout << a << " "; } cout << endl; } int main(){ valarray<int> A </int></int></iostream></valarray>…

C++ foreach的な書き方で書き換えるときは参照渡しを

cpp

#include<stdio.h> #include<iostream> using namespace std; #define FOR(i,a,b) for(int i=(a);i<(b);++i) void printArray(int *A, int n){ FOR(i, 0, n){ cout << A[i] << " "; } cout << endl; } int main(){ int A[] = {1,2,3}; printArray(A, 3); for(int v : A){ v = 0;</iostream></stdio.h>…

【C++】string s = "abcde"として、s[5]を読んでいいの!?いいんです

cpp

for(int i = 0; i < s.length(); i++) { if(s[i] == 'c' && s[i+1] == 'h'); ... というコードを見かけた 配列でやったら範囲エラー 文字列は終端 '\0' なのでOK 読むだけならね。書き換えはダメ stackoverflow.com s[-1]も読んでいいんです! beta.atcoder.…